mongodb不能将$ and与String一起使用

时间:2018-10-16 21:34:05

标签: regex mongodb mongodb-query

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

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

{
  _id : String,
  keywords : [{
    timesFound : Number,
    keyword : String
  }]
}

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

我尝试过这样的查询:

{"keywords.keyword" : $and: [{$regex: /apple/i}, {$regex: /orange/i}]}}

但收到此错误“不能将$ and与String一起使用。”

您有什么想法吗? 谢谢!!

1 个答案:

答案 0 :(得分:2)

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

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