Я пытаюсь получить объяснение из довольно простого запроса. Он использует коллекцию сообщений со следующей схемой:
> db.posts.findOne()
{
"_id" : ObjectId("55236e6182bf196454a952b6"),
"Content" : "wuOfCjKborHcxkoyXzXiW",
"CreatedAtUtc" : ISODate("2014-01-18T23:59:30.023Z"),
"Tags" : [
"sjM",
"Van",
"Orm"
],
"Title" : "msAQAbQwAl",
"Author" : "yIIhato",
"Comments" : [ ]
}
запросов Я хочу объяснить это:
db.posts.find({ $query: {}, $orderby: { "CreatedAtUtc" : -1 } })
Он производит должный результат без каких-либо ошибок. Но это исключает, когда я хочу это объяснить. Я пробовал эти команды, чтобы объяснить запрос:
db.posts.explain().find({ $query: {}, $orderby: { "CreatedAtUtc" : -1 } })
db.posts.find({ $query: {}, $orderby: { "CreatedAtUtc" : -1 } }).explain()
var cursor = db.posts.find({ $query: {}, $orderby: { "CreatedAtUtc" : -1 } })
cursor.explain()
Ошибка всегда одинакова:
2015-11-08T16:20:40.137+0100 E QUERY Error: explain failed: { "ok" : 0, "errm
sg" : "unknown top level operator: $query", "code" : 2 }
at Error (<anonymous>)
at Function.throwOrReturn (src/mongo/shell/explainable.js:34:19)
at constructor.finish (src/mongo/shell/explain_query.js:188:36)
at DBQuery.explain (src/mongo/shell/query.js:434:25)
at (shell):1:8 at src/mongo/shell/explainable.js:34
>
Эта версия MongoDB вы используете? – chridam
@chridam v3.0.7 – Landeeyo