MongoDB文本搜索逻辑AND

时间:2013-10-08 05:09:30

标签: mongodb full-text-search text-search

MongoDB似乎只进行逻辑OR文本查询?

如果我想查找包含单词('apple'或'orange'或'pear')的所有文档,我可以执行以下操作。

db.collection.runCommand('text', {search: 'apple orange pear', limit: -1})

但是如何找到包含所有3个单词('apple'和'orange'和'pear')的所有文档,没有特定的顺序。

这可能吗?

2 个答案:

答案 0 :(得分:3)

逻辑AND操作可以像这样完成

“\”word1 \“\”word2 \“”

在你的例子中,因此: “\”apple \“\”orange“\”pear“”

答案 1 :(得分:-2)

是的,可以这样做。请参考此处的文档 - http://docs.mongodb.org/manual/tutorial/search-for-text/#match-phrases

对于您的查询,它应该看起来像这样......

db.collection.runCommand('text', { search : "('apple') AND ('orange') AND
                                             ('pear')", limit : 1 });