我有一个大型的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() ...},{})

10-06 03:44