【发布时间】:2012-07-23 08:03:31
【问题描述】:
我正在尝试对 MongoDB“$or”查询进行一些分析,但在 Mongo shell 中使用“explain()”命令时遇到问题。当我使用 find 命令运行查询时,它按预期工作并返回一条记录。但是,当我在 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 个结果。我的印象是,无论有无解释(),它们的语法都应该相同,那么我做错了什么?我使用的是 2.0.4 版。感谢任何可以提供帮助的人。
【问题讨论】:
标签: mongodb mongodb-shell