Mogodb - 如何将两个聚合合并为一个

问题描述 投票:0回答:0

以下两个聚合独立运行良好。现在,我希望第一个的结果由第二个处理:

1- 仅计算和显示唯一价格:

db.collection.aggregate([
{ "$group": {
    _id": "$address", 
    "count": { "$sum": 1 }, 
    }
},
{ "$match": {
    "count": { $gt: 0 } 
    } 
}, 
{ "$group": { 
    "_id": null, 
    "totalCount": { "$sum": 1 }, 
    "content": { "$push": "$$ROOT._id" } 
    } 
}, 
{ "$project": { _id: 0 } } 
])

2- 计算街道名称重复的次数。请注意,同一条街道上有许多房屋,因此在聚合 #1 运行后仍然有重复的街道。

[ 
{ $addFields: { 
    parsedAddress: { $arrayElemAt: [
        { $getField: { 
            field: "captures", 
            input: { $regexFind: { input: "$address", regex: /\d+\s(.+)/, }, }, 
            }, 
        }, 0, ], }, 
    }, 
}, 
{ $group: { 
    _id: "$parsedAddress", count: { $sum: 1, }, }, 
}, 
]

将它们放在单括号 [] 中,但没有用。

mongodb mongodb-query aggregation-framework
© www.soinside.com 2019 - 2024. All rights reserved.