man*_*noj 5 mongodb mongodb-query aggregation-framework
我使用聚合框架对多个字段进行分组
{
_id:{_id:"$_id",feature_type:"$feature_type",feature_name:"$feature_name"},
features: { $push: "$features" }
}
Run Code Online (Sandbox Code Playgroud)
它给出的结果是
{_id:
{_id:1,feature_type:"Test",feature_name:"Tests"},
features:["23423","32423","2342342"]
}
Run Code Online (Sandbox Code Playgroud)
但我想要这样的结果
{_id:1,feature_type:"Test",feature_name:"Tests",
features:["23423","32423","2342342"]
}
Run Code Online (Sandbox Code Playgroud)
我如何使用聚合框架来实现这一点。
Ash*_*shh 14
您需要使用$replaceRoot
来更改您的根文件
db.collection.aggregate([
{
"$addFields": {
"_id.features": "$features"
}
},
{
"$replaceRoot": {
"newRoot": "$_id"
}
}
])
Run Code Online (Sandbox Code Playgroud)
db.collection.aggregate([
{
$project: {
_id: "$_id._id",
feature_type:"$_id.feature_type",
feature_name:"$_id.feature_name",
features:1
}
}
])
Run Code Online (Sandbox Code Playgroud)