mongodb通过多个数组项来查找

如果我有这样的logging,

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

我如何在MongoDB中匹配多个单词? 当匹配一个单词我可以做到这一点;

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

但是,当我尝试多个单词时,这是行不通的。

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

我猜测,通过使用一个数组,它试图匹配整个数组与logging中的一个,而不是匹配个别的内容。

取决于你是否here使用$all来查找words包含两个元素( texthere )的文档:

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

或者使用$in任何一个( texthere

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