问题
你好。我有一个对我来说似乎很奇怪的问题,我感到很困惑:
让我们来看看:
tags = [ ObjectId('a'), ObjectId('b') ]
search = { $search: 'abc' }
现在下面的查询可以正常工作:
db.entries.find({ $or: [ {$text:search} ] })
And this one too:
db.entries.find({ $or: [ {tags:{$in:tags}} ] })
但是将它们结合起来:
db.entries.find({ $or: [ {$text:search}, {tags:{$in:tags}} ] })
我遇到了以下错误:
Unable to execute query: error processing query: ns=db.entries
Tree:
$or
tags $in [ ObjectId('a'), ObjectId('b') ]
TEXT : query=abc, language=, tag=NULL
Sort: {}
Proj: {}
No query solutions
元数据
- 我正在使用MongoDB版本
2.6.4
。 - 将任何条件与简单的
{_id:“c”}
表达式组合都可以正常工作。 - 我已经正确设置了文本索引。
- 条件在
$or
数组中出现的顺序不会影响结果。
我的问题
能帮帮忙吗?:(