MongoDB 似乎只做逻辑或文本查询?
如果我想查找包含单词('apple' or 'orange' or 'pear')的所有文档,我可以执行以下操作。
db.collection.runCommand('text', {search: 'apple orange pear', limit: -1})
但是我如何找到所有包含所有三个单词('apple'、'orange'和'pear')的文档,没有特定的顺序。
这可能吗?
MongoDB 似乎只做逻辑或文本查询?
如果我想查找包含单词('apple' or 'orange' or 'pear')的所有文档,我可以执行以下操作。
db.collection.runCommand('text', {search: 'apple orange pear', limit: -1})
但是我如何找到所有包含所有三个单词('apple'、'orange'和'pear')的文档,没有特定的顺序。
这可能吗?
逻辑与运算可以这样完成
"\"word1\" \"word2\""
在你的例子中,因此: "\"apple\" \"orange" \"pear""
是的,可以这样做。请参阅此处的文档 - http://docs.mongodb.org/manual/tutorial/search-for-text/#match-phrases
对于您的查询,它应该看起来像这样......
db.collection.runCommand('text', { search : "('apple') AND ('orange') AND
('pear')", limit : 1 });