tengo una pregunta:
¿Cómo puedo encontrar todos los documentos que tienen una cadena en una matriz usando mangosta?
Por ejemplo, mi documento:
<Model>.findMany(/* code that i need */).exec() // return all documents that have an array called "tags" that includes tag "test" { "_id": { "$oid": "61b129b7dd0906ad4a2efb74" }, "id": "843104500713127946", "description": "Server di prova", "tags": [ "developers", "programming", "chatting", "ita" ], "shortDescription": "Siamo un server nato per chattare e aiutare programmatori su Discord!", "invite": "https://discord.gg/NdqUqHBxz9", "__v": 0 } Por ejemplo, si necesito obtener todos los documentos con la etiqueta ita , necesito obtener este documento. Si el documento no tiene una etiqueta ita en la etiqueta de matriz, no la necesito y el código no la devolverá.
Gracias de antemano y perdón por el mal inglés.
En realidad, solo puede solicitar que se prueben las etiquetas, ya que mongoose busca cada entrada de etiquetas
así que esto:
await Test.insertMany([{ tags: ["test"] }, { tags: ["Notest"] }]) let res = await Test.find({ "tags": "test" }) console.log(res) }devuelve que:
[ { _id: new ObjectId("61b8af02c3effad21a5d7187"), tags: [ 'test' ], __v: 0 } ]2 cosas más interesantes que debes saber:
Ejemplo para el 2do:
let res = await Test.updateMany({ "tags": "test" }, { $set: { "tags.$": "new" } }, { new: true })