MongoDb。计数数组中的字段

时间:2018-10-30 07:20:26

标签: mongodb

我有一个mongodb集合。每个元素都包含一个数组topics。每个主题都包含一个数组units。每个单元包含一个数组questions,每个问题包含一个数组ids。如何在所有主题的al ...中的所有问题中获得所有id的计数?在所有主题中,如何获得所有ID的唯一计数?

2 个答案:

答案 0 :(得分:1)

您需要执行多个$unwind操作,然后最终使用$size函数来获取ID计数。

db.your_collection.aggregate(  
    {
        $unwind:"$topics"
    },
    {
        $unwind:"$units"
    },
    {
        $unwind:"$questions"
    },
    {
       $project: {        
            numberOfItems: { $size: "$topics.units.questions.ids" }
     })

答案 1 :(得分:0)

让我用自己的方式解释

这就是嵌入方式https://ibb.co/ck35a0

如果要在我的文档中查找元素,则可以过滤未闲置的ID。

var line=db.getCollection('LineDefinitions').find({LineDefinitionGrid:{$exists:true}});
var lineCount=0;

line.forEach(function(item){

    lineCount+=item.LineDefinitionGrid.length;


    })
    lineCount;

https://ibb.co/fUHnoL

相关问题