使用 json 存储的数据对 mongo 中的数据进行分组
grouping data in mongo using json data stored
这是我 mongo 数据库中的数据:
{
"_id": ObjectId("556d1c7716efd4a035d8e473"),
"products": [
{
"gtin": 77770000222313,
"gpc": 10000068
},
{
"gtin": 77770000222312,
"gpc": 10000068
}
]
}
我如何聚合它以便获得 gpc 值,然后是 gtins 下的一个数组?类似于:
{
"gpc":10000068,
"gtin":[77770000222312,77770000222313]
}
使用聚合框架
db.collection.aggregate(
[
{ $unwind: "$products" },
{ $group: { _id: "$products.gpc", gtin: { $push: "$products.gtin" }}},
{ $project: { gpc: "$_id", gtin: 1, _id: 0 }}
]
)
这是我 mongo 数据库中的数据:
{
"_id": ObjectId("556d1c7716efd4a035d8e473"),
"products": [
{
"gtin": 77770000222313,
"gpc": 10000068
},
{
"gtin": 77770000222312,
"gpc": 10000068
}
]
}
我如何聚合它以便获得 gpc 值,然后是 gtins 下的一个数组?类似于:
{
"gpc":10000068,
"gtin":[77770000222312,77770000222313]
}
使用聚合框架
db.collection.aggregate(
[
{ $unwind: "$products" },
{ $group: { _id: "$products.gpc", gtin: { $push: "$products.gtin" }}},
{ $project: { gpc: "$_id", gtin: 1, _id: 0 }}
]
)