MongoDB 更新数组条目
MongoDB update arrays entry
我有一个文档可以 Mongodb 像这样更新对象数组:
{
"myArray": [
{
"Key1": "string",
"key2": {
"entry": "aaa"
}
},
{
"Key1": "string",
"key2": {
"entry": "bbb"
}
}
]
}
并且我想修改myArray的每个对象中的key2字段。预期结果应为:
{
"myArray": [
{
"Key1": "string",
"key2Modified":"aaa"
},
{
"Key1": "string",
"key2Modified":"bbb"
}
]
}
有什么帮助吗?
在$set
中使用$map
db.collection.update({},
[
{
$set: {
"myArray": {
$map: {
input: "$myArray",
as: "a",
in: {
Key1: "$$a.Key1",
key2Modified: "$$a.key2.entry"
}
}
}
}
}
])
我有一个文档可以 Mongodb 像这样更新对象数组:
{
"myArray": [
{
"Key1": "string",
"key2": {
"entry": "aaa"
}
},
{
"Key1": "string",
"key2": {
"entry": "bbb"
}
}
]
}
并且我想修改myArray的每个对象中的key2字段。预期结果应为:
{
"myArray": [
{
"Key1": "string",
"key2Modified":"aaa"
},
{
"Key1": "string",
"key2Modified":"bbb"
}
]
}
有什么帮助吗?
在$set
$map
db.collection.update({},
[
{
$set: {
"myArray": {
$map: {
input: "$myArray",
as: "a",
in: {
Key1: "$$a.Key1",
key2Modified: "$$a.key2.entry"
}
}
}
}
}
])