MongoDB:聚合函数中的映射嵌套数组 [英] MongoDB: Map nested array in aggregate function
本文介绍了MongoDB:聚合函数中的映射嵌套数组的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在尝试通过聚合来更新属性名称。当前文档
I am trying to update property name by using aggregation. Current document
[
{
_id: 5,
payLoad: {
grades: [
{
grade_: 80,
mean: 75
},
{
grade_: 90,
mean: 80
}
]
}
}
]
预期文档将 grade _
重命名为 grade
[
{
_id: 5,
payLoad: {
grades: [
{
grade: 80,
mean: 75
},
{
grade: 90,
mean: 80
}
]
}
}
]
要实现这一点,我试图映射聚合
To achieve this I am trying to map the aggregation
db.collection.aggregate([
{
$addFields: {
payLoad: {
grades: {
$map: {
input: "$grades",
as: "grade",
in: {
grade: "$$grade.grade_",
mean: "$$grade.mean"
}
}
}
}
}
}
])
这不起作用。不确定此映射是否正确
This is not working. Not sure this mapping is right
payLoad: {
grades: {
还尝试了像 payLoad.grades
推荐答案
这应该有效。
{
$addFields: {
"payLoad.grades": {
$map: {
input: "$payLoad.grades",
as: "grade",
in: {
grade: "$$grade.grade_",
mean: "$$grade.mean"
}
}
}
}
}
这篇关于MongoDB:聚合函数中的映射嵌套数组的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文