簡體   English   中英

節點js mongo查找最后插入

[英]node js mongo find last inserted

我很難找到在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。

我發現了一個可能的解決方案( 在這里 )你的問題。 可能是由於數據庫連接在發出的操作完成之前關閉。

您可以通過將db.close()調用包含在find查詢中來修復它。

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM