Mongodb 如何在Mongo查询中使用sum进行聚合?

Mongodb 如何在Mongo查询中使用sum进行聚合?,mongodb,aggregation-framework,mongoose-schema,Mongodb,Aggregation Framework,Mongoose Schema,我是MongoDB新手,需要编写此查询。我的JSON请求是这样的。我需要使用聚合在mongodb中构建查询 JSON 我想要的是除了“客户”之外的所有“潜在客户价值”的总和,并计算状态 [ { "_id": { "user_id": "1", "name": "Madhu", "lead_value": 120354, "count" : 5 } }, { "_id": { "user_id": "8

我是MongoDB新手,需要编写此查询。我的JSON请求是这样的。我需要使用聚合在mongodb中构建查询

JSON

我想要的是除了“客户”之外的所有“潜在客户价值”的总和,并计算状态

[
  {
    "_id": {
      "user_id": "1",
      "name": "Madhu",
      "lead_value": 120354,
      "count" : 5
    }
  },
  {
    "_id": {
      "user_id": "89",
      "name": "Prashanth Reddy",
      "lead_value": 12000,
      "count" : 1
    }
  }
]
如何在MongoDB聚合中编写?

您只需要一个简单的阶段:


您现在可以根据需要重新格式化数据。

您可以使用此查询,以获得完美的结果。 给你

db.getCollection('YOUR_COLLECTION').aggregate([
    {
        $match: {
            "_id.status": {$ne: "Customer"}
        }
    },
    {
        $group: {
            _id: "$_id.user_id",
            lead_values: {$sum: "$_id.lead_value"},
            name: {$first: "$_id.name"},
            count: {$sum: 1}
        }
    }
])

在这里你可以看到,我们如何使用一些拼写错误,我想你的意思是
“_id.status”:{$ne:“Customer”}
等等。因为在OP的数据中,文档实际上在
\u id
属性中。非常感谢您的回复,这个查询对我来说很好
db.collection.aggregate([
    {
        $match: {
            "_id.status": {$ne: "Customer"}
        }
    },
    {
        $group: {
            _id: "$_id.user_id",
            lead_values: {$sum: "$_id.lead_value"},
            name: {$first: "$_id.name"},
            count: {$sum: 1}
        }
    }
])
db.getCollection('YOUR_COLLECTION').aggregate([
    {
        $match: {
            "_id.status": {$ne: "Customer"}
        }
    },
    {
        $group: {
            _id: "$_id.user_id",
            lead_values: {$sum: "$_id.lead_value"},
            name: {$first: "$_id.name"},
            count: {$sum: 1}
        }
    }
])