我正在学习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":[
// . . .
]
}
}
答案 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
这应该给你计数。
如果您需要任何其他帮助,请与我联系,我会帮助