MongoDB 数组类型的子文档求合

集合结构如下{_id:1,array:[......]}{_id:2,array:[......]}...{_id:n,array:[......]}需求一,想要获取每一... 集合结构如下
{ _id : 1, array : [ ... ... ] }
{ _id : 2, array : [ ... ... ] }
...
{ _id : n, array : [ ... ... ] }
需求一,想要获取每一条文档的 array 的length,结果类似如下
{ _id : 1, arrayLength : 1 }
... ...
{ _id : n, arrayLength : x }
需求二,通过aggregate获取array的总和,结果类似如下
{ _id : 0, arrayTotalLength : y }
展开
 我来答
京雁风0gz
2016-09-29 · TA获得超过829个赞
知道小有建树答主
回答量:933
采纳率:50%
帮助的人:613万
展开全部
你说的这个可以通过聚合操作得到
想要获取每一条文档的 array 的length的示例:
db.collection.aggregate([
  {$group:{_id:"$_id",arrayLength:{$size:"$array"}}}
]);
通过aggregate获取array的总和的示例:

db.collection.aggregate([
  {$group:{_id:"$_id",name:"0",arrayLength:{$size:"$array"}}}
{$group:{_id:"$name",arrayTotalLength:{$sum:"$arrayLength"}}}
]);
以上的命令都没有经过测试,只是一个思路可以多加改进调试,当然也不一定对。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式