如何将现有值(类型:字符串)更新为对象数组和 mongoDB 中的对象?
How to update exists value (type: string) to array of ojbect and object in mongoDB?
我有以下文件:
[
{
"_id": "6245131fdbcda3639d75c951",
"username": "joy",
"description": "description english",
"product_code_origin": "aaaa-a",
"product_code_filter": "aaaaa"
},
{
"_id": "6245131fdbcda3639d75c952",
"username": "joy2",
"description": "description 222",
"product_code_origin": "bbbb-b",
"product_code_filter": "bbbbb"
}
]
描述将是字符串的对象。
描述:字符串 => 描述:{description_en:存在字符串值}
product_code_origin 和 product_code_filter 将是对象数组。
product_code_origin:字符串,product_code_filter:字符串 => [{product_code_origin:存在字符串值,product_code_filter:存在字符串值}]
更新后的文档看起来像
[
{
"_id": "6245131fdbcda3639d75c951",
"username": "joy",
"description": {"description_en": "description english", "description_ko":""},
"product_code": [
{
"product_code_origin": "aaaa-a",
"product_code_filter": "aaaaa"
},
]
},
{
"_id": "6245131fdbcda3639d75c952",
"username": "joy2",
"description": {"description_en": "description 222", "description_ko":""}
"product_code": [
{
"product_code_origin": "bbbb-b",
"product_code_filter": "bbbbb"
}
]
}
]
使用update-documents-with-aggregation-pipeline
db.collection.update({},
[
{
$set: {
description: {
description_en: "$description",
description_ko: ""
},
product_code: [
{
product_code_origin: "$product_code_origin",
product_code_filter: "$product_code_filter"
}
]
}
},
{
$unset: [
"product_code_origin",
"product_code_filter"
]
}
],
{
multi: true
})
我有以下文件:
[
{
"_id": "6245131fdbcda3639d75c951",
"username": "joy",
"description": "description english",
"product_code_origin": "aaaa-a",
"product_code_filter": "aaaaa"
},
{
"_id": "6245131fdbcda3639d75c952",
"username": "joy2",
"description": "description 222",
"product_code_origin": "bbbb-b",
"product_code_filter": "bbbbb"
}
]
描述将是字符串的对象。
描述:字符串 => 描述:{description_en:存在字符串值}
product_code_origin 和 product_code_filter 将是对象数组。
product_code_origin:字符串,product_code_filter:字符串 => [{product_code_origin:存在字符串值,product_code_filter:存在字符串值}]
更新后的文档看起来像
[
{
"_id": "6245131fdbcda3639d75c951",
"username": "joy",
"description": {"description_en": "description english", "description_ko":""},
"product_code": [
{
"product_code_origin": "aaaa-a",
"product_code_filter": "aaaaa"
},
]
},
{
"_id": "6245131fdbcda3639d75c952",
"username": "joy2",
"description": {"description_en": "description 222", "description_ko":""}
"product_code": [
{
"product_code_origin": "bbbb-b",
"product_code_filter": "bbbbb"
}
]
}
]
使用update-documents-with-aggregation-pipeline
db.collection.update({},
[
{
$set: {
description: {
description_en: "$description",
description_ko: ""
},
product_code: [
{
product_code_origin: "$product_code_origin",
product_code_filter: "$product_code_filter"
}
]
}
},
{
$unset: [
"product_code_origin",
"product_code_filter"
]
}
],
{
multi: true
})