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"] }});