2014-04-11 10 views
8

Sono provo ottenere dati da collezione con un certo ordine:

db.data.aggregate([ 
    {$limit: 1000}, 
    {$group: { 
     _id: "$service", 
     count: {$sum: 1}, 
     data: {$push: '$$ROOT'} 
    }} 
]); 

Ma ottenere prossimo errore:

Error("Printing Stack Trace")@:0 
()@src/mongo/shell/utils.js:37 
([object Array])@src/mongo/shell/collection.js:866 
@(shell):6 

uncaught exception: aggregate failed: { 
    "errmsg" : "exception: FieldPath field names may not start with '$'.", 
    "code" : 16410, 
    "ok" : 0 
} 

Dove ho sbagliato?

+0

Stai effettivamente utilizzando una versione 2.6? È stato appena rilasciato e quindi la documentazione ora riflette la versione più recente. –

risposta

6

Quindi per il commento è necessaria una versione 2.6 di MongoDB. Ma ovviamente usando 2.6 questo funziona per me:

db.collection.aggregate([ 
    { "$limit": 1000 }, 
    { "$group": { 
     "_id": null, 
     "count": { "$sum": 1}, 
     "data": { "$push": "$$ROOT" } 
    }} 
]) 
+3

Il nome del pacchetto è stato modificato! Ho appena aggiornare 10gen e ottenere v2.4.10. Grazie! – vporoshok

+0

@ user2381111 Grazie per aver detto che mi sono dimenticato del backport. –

Problemi correlati