【发布时间】:2021-11-17 01:50:18
【问题描述】:
我在 mongodb 中有以下文档,其中 Grades 键是一个包含对象和数组组合的数组。我的数据库中有几条这样的记录。我想更新数组并将其作为所有此类记录的对象。如何通过更新查询来实现这一点?
{
_id: 4,
grades: [
{ grade: 80, mean: 75, std: 8 },
{ grade: 85, mean: 90, std: 5 },
[{ grade: 85, mean: 85, std: 8 }]
]
}
预期输出:
{
_id: 4,
grades: [
{ grade: 80, mean: 75, std: 8 },
{ grade: 85, mean: 90, std: 5 },
{ grade: 85, mean: 85, std: 8 }
]
}
【问题讨论】:
-
你的目标不是很清楚。你的意思是说,你想转换“grades”数组中的最后一项——把它从一个数组本身变成一个对象?
-
是的。想要将“等级”中存在的数组类型转换为对象。
-
您是想获取特定形状的数据(即将嵌套数组动态转换为文档)还是需要实际更改静态数据的形状(在数据库)?
-
需要改变DB中文档的形状。 Mongo 3.4版
-
您需要一次更改所有文档,还是可以使用模式版本控制模式(在您的应用程序中遇到它们时更改它们)? - mongodb.com/blog/post/…