为了账号安全,请及时绑定邮箱和手机立即绑定

MongoDB:如何更新数组中的单个子元素(由数组中的索引引用)?

MongoDB:如何更新数组中的单个子元素(由数组中的索引引用)?

月关宝盒 2019-11-18 12:45:34
我正在尝试更新mongodb文档中数组中包含的单个子元素。我想使用其数组索引来引用该字段(数组中的元素没有任何我可以保证将是唯一标识符的字段)。看起来这样应该很容易,但是我无法弄清楚语法。这是我要在伪json中执行的操作。之前:{  _id : ...,  other_stuff ... ,  my_array : [    { ... old content A ... },    { ... old content B ... },    { ... old content C ... }  ]}后:{  _id : ...,  other_stuff ... ,  my_array : [    { ... old content A ... },    { ... NEW content B ... },    { ... old content C ... }  ]}好像查询应该是这样的://pseudocodedb.my_collection.update(  {_id: ObjectId(document_id), my_array.1 : 1 },  {my_array.$.content: NEW content B })但这是行不通的。我花了太多时间搜索mongodb文档,并尝试对此语法进行不同的修改(例如,使用$slice等等)。我找不到任何有关如何在MongoDB中完成这种更新的明确解释。
查看完整描述

3 回答

?
慕桂英3389331

TA贡献2036条经验 获得超8个赞

不出所料,查询就很容易。这是python中的语法:


db["my_collection"].update(

    { "_id": ObjectId(document_id) },

    { "$set": { 'documents.'+str(doc_index)+'.content' : new_content_B}}

)


查看完整回答
反对 回复 2019-11-18
  • 3 回答
  • 0 关注
  • 1323 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信