反转.each()命令(mongodb)

时间:2011-04-29 07:31:30

标签: javascript node.js mongodb mongoose nosql

使用mongodb和mongoose:

我当前的代码返回正确的文档,但是以错误的顺序将它们发送到客户端。我尝试在.limit()之后添加另一个sort命令来反转它但它运行不好。有没有想过在db调用中发生这种情况而不是用来反转命令的额外代码?

Item.find().sort('_id','descending').limit(40).each(function(err, doc) {
    if(doc != null){
        client.send(JSON.stringify(doc));       
    }
});

2 个答案:

答案 0 :(得分:1)

根据你的mongodb查询的实际上下文,试试这个(meteor client.js):

Item.find({}, { sort: { _id: -1 } })

或在db shell中代码:

Item.find({}).sort({'_id': -1});

答案 1 :(得分:0)

怎么样?

var orderedList = new Array();
Item.find().sort('_id','descending').limit(40).each(function(err, doc) {
    orderedList.push(doc);
});

for (var i=orderedList.length; i>=0; i--){
   orderedList[i].doYourThang..
}

尝试:JQuery .each() backwards for reverse()插件