{Crs:{[
{Cr: {
"_id" : ObjectId("5a75baada0f20bd4e612d480"),
"Number" : 400,
"Page" : 24,
"DC" : "NE",
}},
{Cr: {
"_id" : ObjectId("5a75baada0f20bd4e612d489"),
"Number" : 300,
"Page" : 14,
"DC" : "100",
}},
]}}
我有这个数据,我使用聚合模型,我想知道如何使用聚合从数组的所有元素中删除“DC”字段。
>db.crs.aggregate(
[
{$group : {_id : null, crs : {$push : {cr : "$$ROOT"}}}},
{$project : {_id : 0}}
]
)
这是对数据进行建模的方法。 我认为这与$ project有关。
答案 0 :(得分:0)
首先,您的文档不是有效的JSON模式。您可能会重新考虑该特定文档的以下架构。
{
Crs:[
{
"_id" : ObjectId("5a75baada0f20bd4e612d480"),
"Number" : 400,
"Page" : 24,
"DC" : "NE"
},
{
"_id" : ObjectId("5a75baada0f20bd4e612d489"),
"Number" : 300,
"Page" : 14,
"DC" : "100"
}
]
}
具有上述架构,您可以使用$unset
聚合运算符轻松删除 DC 字段。
db.crs.aggregate([{$unset: 'Crs.DC'}]);