2014-10-12 84 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); 
    }) 
})