MongoDBの「$or」クエリのプロファイリングを実行しようとしていますが、Mongoシェルの「explain()」コマンドで問題が発生しています。findコマンドを使用してクエリを実行すると、期待どおりに機能し、1つのレコードが返されます。ただし、find()の最後で「explain()」を追加すると、次のエラーが発生します。
キャッチされない例外:エラー:{"$ err": "無効な演算子:$ or"、 "コード":10068}
私は次のクエリを試しています:
db.people.find({"query" :
{"$or" : [
{"site" : "mysite", "site_id" : "587125722"},
{"user_id" : ObjectId("4fb811aae4b0b628b485a58d")}
]},
"$orderby" : { "global_id" : 1, "user_id" : 1}
})
「$or」を「or」に変更すると、explain()は正常に機能しますが、クエリは0の結果を返します。Explain()の有無にかかわらず、構文は同じである必要があるという印象を受けましたが、何が間違っているのでしょうか。バージョン2.0.4を使用しています。助けることができるかもしれない誰にでも感謝します。