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

247
Visualizações
Mongoose find o varias columnas no funcionan

Si la palabra clave coincide en category.title , entonces está dando resultado; de lo contrario, no coincide con ningún otro campo. ¿Alguien puede decirme cuál es el problema aquí? También probé NewsModel.find().or(filters) sin $or key, aún no funciona.

 let filters = {}; if (keyword) { filters = { $or: [ { title: keyword, }, { shortDescription: keyword, }, { detailDescription: keyword, }, { "category.title": keyword, }, ], }; } const response = await NewsModel.find(filters);

mangosta: 6.3.0

Actualización: colección DB agregada

 { "_id": "625b83518b1eaedc58a74196", "title": "Moon Knight", "shortDescriptipn": "Embrace the chaos.", "detailDescription": "When Steven Grant, a mild-mannered gift-shop employee...", "category": [ { "_id": "625b7dfd00e7f082f6d8d9fb", "title": "Entertainment" } ], "createdAt": "2022-04-17T03:02:41.353Z", "updatedAt": "2022-04-17T03:02:41.353Z", "__v": 0 }

Si busco Entertainment , obtengo un resultado, pero si busco Moon Knight , obtengo una matriz vacía.

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Puede usar este código para que funcione, también ha escrito incorrectamente shortDescriptipn en la base de datos.

Lo que hice fue usar la palabra clave $or con la búsqueda de expresiones regulares, por lo que no necesita escribir una cadena completa, si contiene esa parte de la cadena, devolverá el documento y no será un caso estricto de coincidencia completa, también he agregado la opción i lo que hará que la búsqueda no distinga entre mayúsculas y minúsculas.

La consulta será como:

 db.collection.find({ $or: [ { title: { $regex: keyword, $options: "i" }, }, { shortDescriptipn: { $regex: keyword, $options: "i" }, }, { detailDescription: { $regex: keyword, $options: "i" }, }, { "category.title": { $regex: keyword, $options: "i" }, }, ], })

También puede consultar la consulta aquí: https://mongoplayground.net/p/7zuhbaNTWJY

Déjame saber, si tienes alguna duda en los comentarios.

about 4 years ago · Juan Pablo Isaza 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