mongoose无法使用$rename对一个数组文档修改名称

mongoose的$rename只能对文档类型为字符串的文档,做文档名修改,不能对文档类型为数组的文档名做文档改名的操作。要如何操作才能对数组文档名做修改?

图片描述

图片描述

阅读 2.3k
1 个回答
rs0:PRIMARY> db.test.find()
{ "_id" : ObjectId("5aa005259c15e1a37b54d616"), "x" : [ 1, 2, 3, 4 ] }
rs0:PRIMARY> db.test.update({}, {$rename: {x: 'y'}}, {multi: true})
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
rs0:PRIMARY> db.test.find()
{ "_id" : ObjectId("5aa005259c15e1a37b54d616"), "y" : [ 1, 2, 3, 4 ] }

$rename是没有问题的。你的代码里面只看出来rename了sex,并且这个在你的截图里面是成功的。所以你rename extra的时候是怎么做的?
题外话:为回答问题的人考虑一下,截图放这是让别人照着截图敲一遍你的代码来测试吗?

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题