在MongoDB中使用$ rename重命名嵌套的字段名称

问题描述 投票:1回答:1

我刚开始学习MongoDB,我想在以下名称中重命名“ Jimmy”客户的“ ratings”数组:

{ 
   "CUSTOMER" : 
         { 
           "first name" : "Jimmy",
           "ratings" : [ 
                    { "increase" : { "rate" : 99 } }, 
                    { "increase" : { "rate2" : 20.5 } 
                  } 
            ] 
      } 
}

我尝试了很多方法,例如

db.collection.update({"CUSTOMER.first name":"Jimmy"}, {$rename:{"CUSTOMER.ratings":"discountings"}});

这种方式将阵列分开,并使其成为新客户。这意味着该数组不在CUSTOMER文档中。另外,我确实将$符号放在“评级”之前,并且我知道这不是正确的方法,实际上它给出了错误消息“不是动态的”。

另外,我尝试了以下操作,但实际上不正确,因为我们询问是否要更改整个文档名称。它给出错误消息“必须是字符串”。

db.collection.update({"CUSTOMER.first name":"Jimmy"}, {$rename:{"CUSTOMER":{"ratings":"discountings"}});

总而言之,希望将“等级”更改为“折扣”。

arrays mongodb mongodb-query
1个回答
1
投票

由于您要重命名嵌入式文档,因此不仅需要在.中使用key标记,而且在value中也需要使用。

© www.soinside.com 2019 - 2024. All rights reserved.