javascript - 如何计算 MongoDB 中的实例数

标签 javascript mongodb aggregation

如果我想对 MongoDB 中的数值求和,我会这样做:

totalOpenBalance: {
  $sum: "$openBalance"
} // sum up all "openBalance" values

但我想知道的是,当我想要总结某物的实例时,我应该使用什么运算符?假设我有一个诸如 customer_id 之类的属性,以及如下所示的数据:

{
   "customer_id" : 445,
   "other_prop" : value
},
{
   "customer_id" : 446,
   "other_prop" : value
},

请注意,我不想对分配给“customer_id”的值进行求和,而是计算数据集合中有多少个“customer_id”实例。换句话说,根据上面的数据,我应该得到“2”作为我的输出。我应该使用什么运算符来执行此操作?

为了澄清,这是我需要添加到用于生成 mongo View 的聚合管道中的步骤。

最佳答案

以下任何一项都可以帮助您:

简单查找:

db.collection.find({
    "customer_id": { $exists: true }
}).count()

$count聚合:

db.collection.aggregate({
    $match: {
        "customer_id": { $exists: true }
    }
}, {
    $count: "numberOfInstances"
})

$group聚合:

db.collection.aggregate({
    $match: {
        "customer_id": { $exists: true }
    }
}, {
    $group: {
        _id: null,
        "numberOfInstances": { $sum: 1 } // count instances
    }
})

关于javascript - 如何计算 MongoDB 中的实例数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50031244/

相关文章:

MongoDb:如何对日期字段进行聚合、分组和排序?

inheritance - 使用 Maven 2 构建子项目时缺少工件

sql - 根据变化的维度对分区进行编号

javascript - D3 事件在隐藏的 svg 元素上触发

javascript - 如何在 Django for 循环中使用 'clicked' 选择一个元素而不是所有元素

mongodb指南针查询日期范围内的objectId

php - 如何使用 PHP 的 SPL 聚合邻接列表的结果

javascript - 想要使用 javascript 按钮来回更改字体

php - Codeigniter AJAX 示例

mongodb - 蒙戈雷商店和收藏