mongodb 无法将 $and 与字符串一起使用

Cha*_*het 2 regex mongodb mongodb-query

我不是 mongodb 专家,所以我正在使用正则表达式解决搜索问题。

我的名为 Post 的文档的结构如下:

{
  _id : String,
  keywords : [{
    timesFound : Number,
    keyword : String
  }]
}
Run Code Online (Sandbox Code Playgroud)

作为输入,我有一系列潜在的关键字,例如:[“apple”,“orange”]。如何搜索与 /apple/i 和 /orange/i 匹配的所有文档?

我尝试过这样的查询:

{"keywords.keyword" : $and: [{$regex: /apple/i}, {$regex: /orange/i}]}}
Run Code Online (Sandbox Code Playgroud)

但出现此错误“不能将 $and 与字符串一起使用。”

你有什么想法 ?谢谢 !!

mic*_*ckl 6

$and应该是顶级运算符,尝试:

Post.find({ $and: [ { "keywords.keyword": {$regex: /apple/i} }, { "keywords.keyword": {$regex: /orange/i} } ] })
Run Code Online (Sandbox Code Playgroud)