我有一个名为tag
的MongoDB集合,其中包含3个对象。这些对象包含_id
,main
,name
等字段,如下所示:
{
"_id": "2ho8XgtfRvXpkg9g6",
"main": "category",
"name": ["elec", "toys", "flowers"]
}
我想计算name
数组中的所有项目(这里有3个,其中4个,最后5个)。
如何使用以下查询计算所有3个标记集合中所有数组name
中的所有项目?
Tags.find().count()
答案 0 :(得分:0)
此聚合查询将为您提供名称数组的总和:
db.tag.aggregate([
{"$unwind": "$name"},
{"$group": {"_id": "$_id", "sum": { "$sum": 1}}},
{"$group": {"_id": null, "total_sum": {"$sum": "$sum"}}}
])