一尘不染

从MongoDB find()结果集中识别最后一个文档

node.js

我正在尝试使用websocket将数据从node.js / MongoDB实例“流式传输”到客户端。一切都很好。

但是,如何确定结果中的最后一个文档?我正在使用node-mongodb-native从node.js连接到MongoDB。

一个简化的例子:

collection.find({}, {}, function(err, cursor) {
  if (err) sys.puts(err.message);

  cursor.each(function(err, doc) {
    client.send(doc);
  });                
});

阅读 565

收藏
2020-07-07

共1个答案

一尘不染

由于mongodb objectId包含创建日期,因此您可以按ID,降序排序,然后使用limit(1):

db.collection.find().sort( { _id : -1 } ).limit(1);

注意:我一点都不熟悉node.js,以上命令是mongo shell命令,我想您可以轻松地将其重写为node.js。

2020-07-07