MongoDb expliquer un échec: “l'inconnu de haut niveau de l'opérateur: $query”

Je vais essayer d'obtenir de l'expliquer à partir de tout à fait simple requête. Il utilise des postes de collecte avec le schéma suivant:

> 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" : [ ]
}

Requête que je veux expliquer, c'est ceci:

db.posts.find( { $query: {}, $orderby: { "CreatedAtUtc" : -1 } } )

Il produit le bon résultat sans erreurs. Mais il lève l'exception quand je veux l'expliquer. J'ai essayé ces commandes pour expliquer la requête:

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()

L'erreur est toujours la même:

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
>
Qui MongoDB version utilisez-vous?
v3.0.7

OriginalL'auteur Landeeyo | 2015-11-08