3

このクエリでは複数の演算子を使用しています。構文エラーは発生しませんが、データが返されません (返されるはずです)。したがって、論理エラーが発生していることは確かです。問題は、それが見えないことです。

クエリ:

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)}
        ]}
    ]}
)

どんなヒントでも大歓迎です。

4

2 に答える 2

6

ここに記載されている問題を見つけました:https ://jira.mongodb.org/browse/SERVER-2585

ネストされた$ORは、2011年7月24日現在のMongoDB1.9.1までサポートされていません。私は古いバージョンを使用しています。

于 2011-08-09T18:38:09.750 に答える
0
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 } } ] }
    ]
} )
于 2014-07-03T13:02:32.273 に答える