2014-10-12 25 views
0

我有一个集合的模样,如何对mongodb数据库进行排序?

[ 
    {"_id":"543a631d525dc7684bb730e3","word":"sda","description":"dsa"}, 
    {"_id":"543a634e525dc7684bb730e4","word":"dsa","description":"dasda"}, 
    {"_id":"543a6886525dc7684bb730e5","word":"sadas","description":"asaaa"} 
] 

我有麻烦排序按字母顺序排列的列表中, 我现在已经是─尝试

router.get('/userlist', function(req, res) { 
    var db = req.db; 
    db.collection('userlist').find().sort({ word: 1 }) 
    db.collection('userlist').find().toArray(function (err, items) { 
     res.json(items); 
    }); 
}); 

没有人有任何想法如何我可以按字排序这个列表?

+0

修复它:router.get('/ userlist',function(req,res){dbg = req.db; db.collection('userlist')。find({},{sort:[['word' (item); }); }); – josef 2014-10-12 12:04:54

回答

1

这不是它是如何工作的,如果你有一个从编程任何背景,那么你应该知道,第一db...find()将返回data (cursor)你想要的,但你是不是存储在任何变量数据,并在第二db....find()你没有申请sort

所以,我知道你自己已经找到了答案,但你仍然还可以使用这样的事情,

router.get('/userlist', function(req, res) { 
    db.collection('userlist').find().sort({ word: 1 }).toArray(function (err, items) { 
     res.json(items); 
    }); 
}); 
0

如果使用的是猫鼬,您可以排序如下:

router.route('/userlist') 

// CREATE ROUTE FOR USERLIST 
// ========================= 
.get(function(req, res) { 

    // SEND THE USERLIST AFTER SORTING THEM OUT IN ALPHABETICAL ORDER 
    Snippets.find().sort({time: -1}).exec(function(err, items) { 
    res.json(items); 
    }) 
}) 
相关问题