Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

340
Visualizações
Cómo obtener valores de un campo en una matriz en MongoDB Driver para C#

tengo las clases:

 public class Whole { public ObjectId Id { get; set; } public string NeededField { get; set; } public List<Detail> Details { get; set; } public string SomeUnnecesaryField { get; set; } } public class Detail { public string NeededField { get; set; } public string NotNeededField { get; set; } } [BsonNoId] [BsonIgnoreExtraElements] public class MyNeededInformations { public string NeededField { get; set; } [BsonElement("Details.NeededField")] public List<string> DetailsNeededFields { get; set; } }

Y yo tratando de obtenerlo con proyección:

 var filter = someFilter; var projection = Builders<Whole>.Projection .Include(w => w.NeededField) .Include(w => w.Details) .Exclude("_id"); return Collection .Find(filter) .Project(projection) .As<MyNeededInformations>() .ToList();

Y recibo DetailsNeededFields como una lista vacía cada vez. Quiero tener una lista de cadenas como con aggeregate estándar:

 db.collection.aggregate([ {$match: someFilter}, {$project: {"_id": 0, "NeededField": 1, "DetailsNeededFields": "$Details.NeededField"}} ])
over 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

se puede lograr fácilmente con la interfaz AsQueryable así:

 var results = await collection .AsQueryable() .Where(_ => true) .Select(w => new MyNeededInformations { NeededField = w.NeededField, DetailsNeededFields = (List<string>)w.Details.Select(d => d.NeededField) }) .ToListAsync();
over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda