簡體   English   中英

如何在nodejs和mongodb中按條件計算記錄

[英]How to count records by criteria in nodejs & mongodb

我在 mongodb 中有以下 JSON 對象

{
    "_id" : ObjectId("585e34c50ab3cd228a8d6828"),
    "fullname" : "Name1",
    "status" : "INACTIVE",
    "createdDate" : ISODate("2016-12-24T08:41:41.225Z"),
    "updatedDate" : ISODate("2016-12-24T08:41:41.225Z")
},
{
    "_id" : ObjectId("525e34c50ab3cd228a8d6828"),
    "fullname" : "Name2",
    "status" : "ACTIVE",
    "createdDate" : ISODate("2016-12-24T08:41:41.225Z"),
    "updatedDate" : ISODate("2016-12-24T08:41:41.225Z")
}

下面的代碼返回所有 JSON 對象的所有計數。

db.collection(col).count(function (err, res) {
     if (err)
         throw err;
     db.close();
});

但我只需要計算“ACTIVE”狀態結果。 怎么做?

怎么樣:

db.collectionName.find({"status": "ACTIVE"}).count()

我假設您的收藏名稱稱為“收藏名稱”

嘗試這個

 db.collection(col).find({"status" : "ACTIVE"}).count(function (err, res) {
     if (err)
        throw err;
     console.log(res)
     db.close();
 });
db.collection.aggregate(
   [
      { $match: status: "ACTIVE" },
      { $group: { _id: null, count: { $sum: 1 } } }
   ]
)

沒有find()

db.collection('anycollection')
    .count( { status : 'ACTIVE' }, (err, count) => {
        console.log(count);
    });

順便說一下, count()現在已被棄用,因此更正確的解決方案是

db.collection('anycollection)
    .countDocuments( { status : 'ACTIVE' }, (err, count) => {
        console.log(count);
});

暫無
暫無

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

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