在mongodb中查找一个或另一个单词

在mongodb中查找一个或另一个单词,mongodb,mongodb-query,Mongodb,Mongodb Query,我是MongoDB的新手,所以我想知道如何在文档中搜索一个词或另一个词,特别是当一个词是短语,另一个是单个词时 在这里,如果我们必须搜索word printer或ink,我们将使用下面的语法 db.supplies.runCommand("text", {search:"printer ink"}) 如果我想找到“打印机墨水”或纸张,该怎么办?注意打印机墨水是一个短语。我试过了 db.supplies.runCommand("text", {search:"\"printerink\" pap

我是MongoDB的新手,所以我想知道如何在文档中搜索一个词或另一个词,特别是当一个词是短语,另一个是单个词时

在这里,如果我们必须搜索word printer或ink,我们将使用下面的语法

db.supplies.runCommand("text", {search:"printer ink"})
如果我想找到“打印机墨水”或纸张,该怎么办?注意打印机墨水是一个短语。我试过了

db.supplies.runCommand("text", {search:"\"printerink\" paper"}) 

但这没用,所以我希望有人能帮我

引用文档

如果$search字符串包含短语和单个术语,则文本搜索将仅匹配包含该短语的文档。更具体地说,搜索将使用搜索字符串中的各个术语对短语执行逻辑AND运算

也就是说,要查找word
打印机墨水
纸张
,您需要运行两个不同的查询

db.supplies.find({$text:{$search:\'printer ink\\'})

db.supplies.find({$text:{$search:“paper”})
如果任务不需要使用
$text

db.supplies.find({:{“$in”:[/printer ink/,/paper/]})

我就是这么想的。我只是想知道我们有没有别的办法。所以,一旦我们得到了这些,我们就在它们之间进行联合,对吗?@Sam不,没有其他方法,因为query最多只能指定一个
$text
表达式谢谢你的帮助。我只是用
验证了这一点。find({$text:{$search:'/(\'printer ink\”)(paper)/}
并且它确实只匹配短语,而不管正则表达式中的顺序如何。想象一下。