Node.js 节点js mongo find last inserted

Node.js 节点js mongo find last inserted,node.js,mongodb,Node.js,Mongodb,我很难找到mongo中最后插入的元素。我正在使用我找到的一个示例代码,试图进行查询并显示该项,但我遇到了一个错误。我知道我应该做这样的事 db.collectionName.findOne({}, {sort:{$natural:-1}}) 但这就是我目前所拥有的,它不起作用 var MongoClient = require('mongodb').MongoClient; MongoClient.connect("mongodb://localhost:27017/exampleDb",

我很难找到mongo中最后插入的元素。我正在使用我找到的一个示例代码,试图进行查询并显示该项,但我遇到了一个错误。我知道我应该做这样的事

db.collectionName.findOne({}, {sort:{$natural:-1}})
但这就是我目前所拥有的,它不起作用

var MongoClient = require('mongodb').MongoClient;

MongoClient.connect("mongodb://localhost:27017/exampleDb", function(err, db) {
  if(err) { return console.dir(err); }

  var collection = db.collection('test');
  var doc1 = {'hello':'doc1'};
  var doc2 = {'hello':'doc2'};
  var lotsOfDocs = [{'hello':'doc3'}, {'hello':'doc4'}];

  collection.insert(doc1);
  collection.insert(doc2, {w:1}, function(err, result) {});
  collection.insert(lotsOfDocs, {w:1}, function(err, result) {});

  collection.find({}).toArray(function(err, docs) {
    console.log(docs[0]);
  });

  db.close();
});
这就是错误所在

nodejs/node_modules/mongodb/lib/mongodb/connection/base.js:246
        throw message;
              ^
TypeError: Cannot read property '0' of null

我检查以确保数据库不是空的,所以我不确定它为什么返回null

我找到了解决你问题的可能方法()。这可能是因为数据库连接在您发出的操作完成之前关闭

您可以通过在
find
查询中包含
db.close()
调用来修复它

 collection.find({}).toArray(function(err, docs) {
    console.log(docs[0]);
    db.close();
  });

我找到了解决你问题的可能办法。这可能是因为数据库连接在您发出的操作完成之前关闭

您可以通过在
find
查询中包含
db.close()
调用来修复它

 collection.find({}).toArray(function(err, docs) {
    console.log(docs[0]);
    db.close();
  });

我找到了解决你问题的可能办法。这可能是因为数据库连接在您发出的操作完成之前关闭

您可以通过在
find
查询中包含
db.close()
调用来修复它

 collection.find({}).toArray(function(err, docs) {
    console.log(docs[0]);
    db.close();
  });

我找到了解决你问题的可能办法。这可能是因为数据库连接在您发出的操作完成之前关闭

您可以通过在
find
查询中包含
db.close()
调用来修复它

 collection.find({}).toArray(function(err, docs) {
    console.log(docs[0]);
    db.close();
  });

使用
$natural
运算符:
collection.find({}).sort({$natural:-1})toArray(..)
或干脆
collection.find().sort({$natural:-1}).限制(1)
以插入最后一个文档?我无法真正测试,因为我无法获取
collection.find({}).toArray(函数(错误,文档){console.log(文档[0]);}
要立即工作有什么问题吗?我在查询任何试图控制台的内容时遇到问题。请在moment@ShinonChan在访问docs对象的第一个元素之前,您是否尝试过检查docs对象是否为null?如果您记录docs对象,控制台中将显示什么?是否尝试记录
err
以查看如果您收到错误消息?使用
$natural
运算符的排序有什么问题:
集合。查找({})。排序({$natural:-1})到阵列(..)
或简单地
集合。查找().sort({$natural:-1})。限制(1)
以插入最后一个文档?我无法真正测试它,因为我无法获取
集合。查找({}).toArray(函数(err,docs){console.log(docs[0]);})
要立即工作有什么问题吗?我在查询任何试图控制台的内容时遇到问题。请在moment@ShinonChan在访问docs对象的第一个元素之前,您是否尝试过检查docs对象是否为null?如果您记录docs对象,控制台中将显示什么?是否尝试记录
err
以查看如果您收到错误消息?使用
$natural
运算符的排序有什么问题:
集合。查找({})。排序({$natural:-1})到阵列(..)
或简单地
集合。查找().sort({$natural:-1})。限制(1)
以插入最后一个文档?我无法真正测试它,因为我无法获取
集合。查找({}).toArray(函数(err,docs){console.log(docs[0]);})
要立即工作有什么问题吗?我在查询任何试图控制台的内容时遇到问题。请在moment@ShinonChan在访问docs对象的第一个元素之前,您是否尝试过检查docs对象是否为null?如果您记录docs对象,控制台中将显示什么?是否尝试记录
err
以查看如果您收到错误消息?使用
$natural
运算符的排序有什么问题:
集合。查找({})。排序({$natural:-1})到阵列(..)
或简单地
集合。查找().sort({$natural:-1})。限制(1)
以插入最后一个文档?我无法真正测试它,因为我无法获取
集合。查找({}).toArray(函数(err,docs){console.log(docs[0]);})
要立即工作有什么问题吗?我在查询任何试图控制台的内容时遇到问题。请在moment@ShinonChan在访问docs对象的第一个元素之前,您是否尝试过检查docs对象是否为null?如果您记录docs对象,控制台中将显示什么?是否尝试记录
err
以查看如果您收到错误消息?