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

469
Visualizações
Mongodb C# FindAsync. Filtrar en la lista dentro del documento usando linq

Tengo un mongodb y quiero filtrar un valor dentro de una lista en mis documentos.

Mis documentos se ven así:

 {"_id": "guid" , "mylist": {"stuff": "a", "morestuff": "b"} }

Me gustaría encontrar un documento donde "cosas" dentro de "mylist" sea "a" usando expresiones linq en el método FindAsync.

Mi mejor esfuerzo hasta ahora:

 collection.FindAsync(item => item.mylist.Where(item2 => item2.stuff == "a") )

Desafortunadamente, C# no aceptará esta declaración y recibo los siguientes errores:

No se puede convertir implícitamente el tipo "System.Collections.Generic.IEnumerable" a "bool"

No se puede convertir la expresión lambda al tipo de delegado previsto porque algunos de los tipos de valor devuelto en el bloque no se pueden convertir implícitamente al tipo de valor devuelto del delegado"

Soy relativamente nuevo en linq y en su mayoría he estado usando resharper para hacerlo por mí, por lo que probablemente me esté perdiendo algo muy básico aquí.

over 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

Lo siento, entendí mal su pregunta, solo debe reemplazar Where (que le da una colección de elementos que pasan a su expresión) con Any que devuelva verdadero si hay algún elemento en la colección para que esa expresión sea verdadera.

Utilice la siguiente consulta:

 collection.FindAsync(Builders<YourClass>.Filter.ElemMatch( f=>f.mylist, item2=>item2.stuff=="a"))

Creo que este también funcionará:

 collection.FindAsync(x=>x.mylist.Any(b=>b.stuff=="a"))
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