我有这个集合
> db.styles.find({"_id":"EP65"}).pretty();
{
"__v" : 6,
"_id" : "EP65",
"colours" : {
"GRYM" : [
{
"on_sale" : false,
"size_code_id" : "XS",
"sku" : "EP65-GRYM0"
},
{
"on_sale" : false,
"size_code_id" : "2XL",
"sku" : "EP65-GRYM5"
}
],
"BLUT" : [
{
"on_sale" : false,
"size_code_id" : "XS",
"sku" : "EP65-BLUT0"
},
{
"on_sale" : false,
"size_code_id" : "X",
"sku" : "EP65-BLUT1"
}
]
}
}
我想将“on_sale”重命名为“visible”,我有大约200种样式,每种样式都有一种或多种颜色。
所以基本上我想循环遍历所有样式集合,并为每个colour.key将“on_sale”重命名为“visible”
非常感谢任何建议
答案 0 :(得分:0)
如文档中所述,无法重命名数组中的字段。您唯一的选择是迭代收集文档,阅读它们并使用$ unset old / $ set new operations更新每个文档。