簡體   English   中英

如何使用 Node.js 返回 MongoDB 集合中的文檔數?

[英]How can I return the number of documents in a MongoDB collection using Node.js?

我需要編寫一個使用 Node.js 返回集合中文檔數量的函數。 這是我的代碼(我遵循了另一個問題中的建議):

async function countCollections(callback) {
  MongoClient.connect(url, function(err, db) {
    if (err) callback(error);
    var dbo = db.db(nameDB);
    dbo.collection(nameCollections).find(query).count(function(err, count) {
      if (err) callback(error);
      db.close();
      callback(null, count);
    });
  });
}

我這樣調用這個函數:

await countCollections(function(err, count) {
    if (err) {
        return console.log(err.message);
    }
    console.log('Number of documents: ', count);
});

使用這種方法,我只能查看計數值,但不能直接使用。 當我調用函數時,如何將計數值獲取到變量中?

您可以使用 Mongo 的 [countDocuments] 方法。( https://docs.mongodb.com/manual/reference/method/db.collection.countDocuments/ )。

let count = await db.collection(nameCollections).countDocuments(query)

同樣在不真正了解您的應用程序如何工作的情況下,我建議您不要在每次函數調用時打開一個新的 Mongo 連接,而是在您的應用程序啟動時打開它一次。

暫無
暫無

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

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