2011-04-15 10 views
3
Item.find().sort([['_id','descending']]).limit(15).each(function(doc) { 
    client.send(JSON.stringify(doc)); 
}); 

Retours cette erreur:MongoDB/Mongoose Trier Erreur

Error: Error: Illegal sort clause, must be of the form [['field1', '(ascending|descending)'], ['field2', '(ascending|descending)']]\n 

Toutes les idées? Merci!

Répondre

3
Item.find().sort('_id','descending').limit(15).each(function(err, doc) { 
client.send(JSON.stringify(doc)); 
}); 
1

essayer .sort([['_id','desc']])

Vous pouvez également essayer .sort("_id") mais par défaut par ordre croissant.

+0

Stil obtenir cette erreur '{ "pile":" Erreur: Erreur: clause de tri illégale, doit être de la forme [[ 'field1', « (croissant | descendant) '], [' champ2 ',' (ascendant | descendant) ']] \ n sur [objet objet] .nextObject (/opt/local/lib/node/.npm/mongoose/1.1.24/package/ support/node-mongodb-natif/lib/mongodb/cursor.js: 460: 16) \ n sur Array.0 (/opt/local/lib/node/.npm/mongoose/1.1.24/package/lib/mongoose /query.js:651:16)\n at EventEmitter._tickCallback (node.js: 126: 26) "," message ":" Erreur: Clause de tri illégale, doit être de la forme [['field1', '(ascendant | descendant) '], [' field2 ',' (ascendant | descendant) ']] "}' – fancy

+0

pour ajouter plus de contexte, ma solution actuelle pas de tri fin des travaux: 'Item.find ({}, la fonction (err, docs) { \t \t \t \t for (var i = docs.length-2; i fancy

+0

@float avez-vous la dernière version de MongoDB, exprimer, mangouste, nodejs et MongoDB-pilote natif? – Raynos

0

Cela devrait fonctionner:

Item.find().sort([['_id','1']]).limit(15).each(function(err, doc) { 
    client.send(JSON.stringify(doc)); 
});