如何计算mongodb中子对象(同一文档)的数量

时间:2015-06-10 21:59:46

标签: mongodb mongodb-query

示例文件:

{
    "aliases" : {
        "name" : [ 
            "Brinton McKay", 
            "Dr. Theopolis", 
            "Galactic Spiral Sound", 
            "Highrise", 
            "Memory Boy", 
            "Semblance Factor", 
            "Spy (2)", 
            "Three O'Clock High"]}
}

我如何计算" name"的数量?在"别名"? 我想打印包含3个以上别名的所有_id。 任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

请检查以下查询:

db.collection.find({ $where : function() 
{ return Object.keys(this.aliases.name).length > 3 } });

OR

db.collection.aggregate([
{$project : { _id :1 , numb : {$size : "$aliases.name"} }
},
{$match : { numb :{$gt : 3 }}
}
]);

PS:你可以在下面的链接中看到文档:     http://docs.mongodb.org/manual/reference/operator/query/where/