和尚:如何获取最后N条记录?
Posted
技术标签:
【中文标题】和尚:如何获取最后N条记录?【英文标题】:Monk: how to get the last N records? 【发布时间】:2015-04-29 08:10:03 【问题描述】:我找不到记录在哪里。默认情况下,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 条记录?
【问题讨论】:
【参考方案1】:按date
降序排序得到最后N条记录,然后在docs
数组上调用reverse()
以升序放回:
collection.find(, sort: date: -1, limit: 8, function(e, docs)
if (e) return next(e);
res.send(docs.reverse());
);
【讨论】:
【参考方案2】:好的,我找到了我想做的解决方法。
collection.find(,sort: "date": 1,function(e,docs)
if (e) return next(e);
res.send(docs)
);
这会返回按日期排序的结果,然后我在客户端对它们进行切片:
$.getJSON( '/chat/get-messages', function( data )
data=data.slice(data.length -8, data.length);
...
);
不过,我仍在等待实现这一目标的适当方法。
【讨论】:
以上是关于和尚:如何获取最后N条记录?的主要内容,如果未能解决你的问题,请参考以下文章