我需要前十名的记录,但不是很挑剔。
我可以使用.sort('-timestamp').limit(10)
,但我不想对它进行排序,我只是需要它。
每次请求到来时,还有其他方法可以反转数组吗?
答案 0 :(得分:1)
您可以使用以下查询查找显示的最近10条记录(自然顺序)。
db.collection.find().skip(db.collection.count() - 10)
只需确保以下2个条件(' N '是您要获取的记录数量):
if(collection.count()< N):那么您将面临以下错误
error: {
"$err" : "Can't canonicalize query: BadValue bad skip value in query",
"code" : 17287
}
if((collection.count()== N):查询与 collection.find()一样好,因为它会跳过0个元素,显示所有文件。