mongodb通过多个数组项来查找
如果我有这样的logging,
{ "text": "text goes here", "words": ["text", "goes", "here"] }
我如何在MongoDB中匹配多个单词? 当匹配一个单词我可以做到这一点;
db.find({ words: "text" })
但是,当我尝试多个单词时,这是行不通的。
db.find({ words: ["text", "here"] })
我猜测,通过使用一个数组,它试图匹配整个数组与logging中的一个,而不是匹配个别的内容。
取决于你是否here
使用$all
来查找words
包含两个元素( text
和here
)的文档:
db.things.find({ words: { $all: ["text", "here"] }});
或者使用$in
任何一个( text
或here
)
db.things.find({ words: { $in: ["text", "here"] }});