我在此查询中使用多个运算符。我没有语法错误,但我没有得到任何数据(应该是),所以我很确定我正在查看逻辑错误。问题是,我没有看到它。
查询:
db.questions.find(
{'$and': [
{'answers.s_user_id': {'$ne': s_user_id}},
{'$or': [
{'s_text': re.compile(s_term, re.IGNORECASE)},
{'choices': re.compile(s_term, re.IGNORECASE)}
]}
]}
)
任何提示都表示赞赏。
答案 0 :(得分:6)
我刚刚发现了这里记录的问题:https://jira.mongodb.org/browse/SERVER-2585
截至2011年7月24日MongoDB 1.9.1之前不支持嵌套的$ OR。我的版本较旧。
答案 1 :(得分:1)
Please find the query
AND Queries With Multiple Expressions Specifying the Same Operator
Consider the following example:
db.inventory.find( {
$and : [
{ $or : [ { price : 0.99 }, { price : 1.99 } ] },
{ $or : [ { sale : true }, { qty : { $lt : 20 } } ] }
]
} )