和尚:如何获取最后N条记录?
Monk: how to get the last N records?
我找不到记录此内容的位置。默认情况下,find() 操作将从头开始获取记录。
router.get('/chat/get-messages', function(req, res) {
var db = req.db;
var collection = db.get('chatMessages');
collection.find({},{'limit':8},function(e,docs){
if (e) return next(e);
res.send(docs)
});
});
如何获取最后插入的N条记录?
好的,我找到了我想做的解决方法。
collection.find({},{sort: {"date": 1}},function(e,docs){
if (e) return next(e);
res.send(docs)
});
这个 returns 按日期排序的结果,然后我在客户端将它们切片 :
$.getJSON( '/chat/get-messages', function( data ) {
data=data.slice(data.length -8, data.length);
...
});
虽然我还在等待一个合适的方法来实现这个。
按 date
降序排序得到最后 N 条记录,然后在 docs
数组上调用 reverse()
将它们按升序排列:
collection.find({}, {sort: {date: -1}, limit: 8}, function(e, docs){
if (e) return next(e);
res.send(docs.reverse());
});
我找不到记录此内容的位置。默认情况下,find() 操作将从头开始获取记录。
router.get('/chat/get-messages', function(req, res) {
var db = req.db;
var collection = db.get('chatMessages');
collection.find({},{'limit':8},function(e,docs){
if (e) return next(e);
res.send(docs)
});
});
如何获取最后插入的N条记录?
好的,我找到了我想做的解决方法。
collection.find({},{sort: {"date": 1}},function(e,docs){
if (e) return next(e);
res.send(docs)
});
这个 returns 按日期排序的结果,然后我在客户端将它们切片 :
$.getJSON( '/chat/get-messages', function( data ) {
data=data.slice(data.length -8, data.length);
...
});
虽然我还在等待一个合适的方法来实现这个。
按 date
降序排序得到最后 N 条记录,然后在 docs
数组上调用 reverse()
将它们按升序排列:
collection.find({}, {sort: {date: -1}, limit: 8}, function(e, docs){
if (e) return next(e);
res.send(docs.reverse());
});