mongodb trouver par plusieurs éléments de tableau

Si j’ai un disque comme ça

{ "text": "text goes here", "words": ["text", "goes", "here"] } 

Comment puis-je associer plusieurs mots dans MongoDB? En faisant correspondre un seul mot, je peux le faire.

 db.find({ words: "text" }) 

Mais quand j’essaie cela pour plusieurs mots, ça ne marche pas;

 db.find({ words: ["text", "here"] }) 

Je suppose qu’en utilisant un tableau, il essaie de faire correspondre le tableau entier à celui du dossier, plutôt que de faire correspondre les contenus individuels.

Cela dépend si vous essayez de trouver des documents où les words contiennent les deux éléments ( text et here ) en utilisant $all :

 db.things.find({ words: { $all: ["text", "here"] }}); 

ou l’un d’eux ( text ou here ) en utilisant $in :

 db.things.find({ words: { $in: ["text", "here"] }});