在Mongo中使用sum

时间:2014-01-29 01:40:23

标签: mongodb

我正在学习mongo,我在下面有这个架构,我想帮助定义一个查询:

我想获得与此代码匹配的“entregado”字段的总和:151001.在这种情况下,我会得到此结果= 38。

我是否需要更改架构或者很容易查询我想要的内容?

{
  "_id": 101,
  "torre": 1,
  "standard": {
    "mamposteria": [
      {
        "codigo": 311017,
        "descripcion": "LADRILLO ARCILLA H-10",
        "cantidad": 1080,
        "um": "UN",
        "entregado": 1080,
        "fecha": new Date('June 10, 2013'),
        "vale": [1322]
      },
      {
        "codigo": 311021,
        "descripcion": "LADRILLO ARCILLA H-7",
        "cantidad": 200,
        "um": "UN",
        "entregado": 200,
        "fecha": new Date('June 10, 2013'),
        "vale": [1322]
      },
     {
        "codigo": 151001,
        "descripcion": "CEMENTO GRIS 50 KG",
        "cantidad": 17,
        "um": "KG",
        "entregado": 17,
        "fecha": new Date('June 10, 2013'),
        "vale": [1322]
      }                             
    ],
    "mortero": [
      // . . .
    ],
    "estructura":[
      // . . .
    ]
  }
}

1 个答案:

答案 0 :(得分:0)

要单独获取计数,您无需修改​​架构。

按照以下步骤,您可以根据需要计算。我不会给你整个查询来查找计数。这让你很懒。所以会给步骤来计算......

1) use $unwind 2) use $match to find the value for code: 151001 3)    use $group to $sum the values present in entregado

这应该给你计数。

如果您需要任何其他帮助,请与我联系,我会帮助