ZBLOG

操作 mongodb ,对已有数据的字段是一个map,追加一条数据

假设我们已经有一个名为 myCollection 的集合,其中每个文档都有一个名为 myMap 的字段,它是一个键值对的映射。

要向某个文档的 myMap 字段追加一条数据,可以使用 $set$mergeObjects 操作符来实现。以下是一个示例:

  1. db.myCollection.updateOne(
  2. { _id: ObjectId("5f42d5c1e2de8026980c6c70") }, // 要更新的文档的条件
  3. { $set: { myMap: { $mergeObjects: [ "$myMap", { newKey: "newValue" } ] } } } // 新的键值对
  4. );

这将会在满足条件的文档中找到 myMap 字段,并将其与 { newKey: "newValue" } 进行合并。如果原来已经存在 newKey,则其值会被覆盖;否则,新的键值对会被添加到 myMap 中。

注意,上面的代码使用了 MongoDB 的聚合表达式 $mergeObjects,因此需要 MongoDB 3.6 或更高版本才能运行。如果你使用的是旧版 MongoDB,可以考虑使用 $addToSet$each 来进行类似的操作,不过这会相对繁琐一些。

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:https://golang.0voice.com/?id=1996

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?