我有一个大型的mongodb集合,其中每个文档代表一个简单的日志消息,该消息以设置的时间间隔(例如1分钟)出现。每当我使用Mongoose进行Find
时,我都会按添加顺序获得数据库的全部内容。我正在寻找一个查询,可以在不进行时间戳排序的情况下获取最后添加的10条记录。以下是我的文件样本:
[ { _id: 58bd2dcd51d1169260ccbdac,
contentID: 1,
clicks: 50,
views: 61 },
{ _id: 58bd43d40fda0d25b0c6724e,
'contentID: ': 1,
clicks: 45,
views: 72 },
{ _id: 58bd54ae2d67e820143eddda,
'contentID: ': 1,
clicks: 25,
views: 32 }]
最佳答案
不幸的是,我相信您将不得不在查询中使用排序。
example.find()sort.({"_id": -1}).limit(10)
为了简化操作,创建一个变量,然后调用该变量
var q = db.example.find()sort.({"_id": -1}).limit(10);
q.exec(function() ...},{})