如何在mongodb中选择一个嵌套数组的字段和数量

10

我有以下的MongoDB集合:

{
 "_id" : 1,
 "name" : "Sam",
 "telephone" : [1234,4567,8678],
 "age" : 34
},
{
 "_id" : 2,
 "name" : "Joe",
 "telephone" : [4456,4434],
 "age" : 42
}

我想获取电话的名称和数量,应该用什么查询?我的输出应如下所示。

{
  "name" : "Sam",
  "telephoneCount" : 3
},
{
  "name" : "Joe",
  "telephoneCount" : 2
} 
1个回答

17

您可以使用以下查询。使用$project保留名称字段,$size计算电话号码数量。

db.collection.aggregate([
{
                $project: {
                    name: name,
                    telephoneCount: { $size: '$telephone' },
                },
            }
]);

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接