我不是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一起使用。”
您有什么想法吗? 谢谢!!
答案 0 :(得分:2)
$and应该是顶级运算符,请尝试:
Post.find({ $and: [ { "keywords.keyword": {$regex: /apple/i} }, { "keywords.keyword": {$regex: /orange/i} } ] })