mongodb 查找字符串中的多个单词

mongodb find multiple words in a string

我正在尝试在搜索字符串中查找多个词。

例如,如果我必须找到消息包含单词的记录:“first”和“second”:

 { _id: 1, message: "first and second word" },
 { _id: 2, message: "first only" },
 { _id: 3, message: "second only" },
 { _id: 4, message: "second and first" }

应该returns:

{ _id: 1, message: "first and second word" },
{ _id: 4, message: "second and first" }

我试过了:

db.messages.find({ $text: {$search: "second first"} })

但它的工作原理类似于 OR,returns 条记录只包含一个词。

我怎样才能在 Mongo 中做到这一点?

这样试试:

db.messages.find("text", {search:"\"second\" \"first\""})

mongo 文档 text search