shell – 如何在MongoDB中向字典添加另一个值?
发布时间:2020-12-15 21:53:48 所属栏目:安全 来源:网络整理
导读:这是我正在尝试做的一个例子,因为我无法解释我的意思. 我在mongo CLI中执行它:db.posts.insert({name:“Hello,world!,body:”这是我的第一篇博文.快乐阅读
这是我正在尝试做的一个例子,因为我无法解释我的意思.
我在mongo CLI中执行它:db.posts.insert({name:“Hello,world!,body:”这是我的第一篇博文.快乐阅读!“,评论:[]}).我想做的是更新该条目以向评论词典添加评论. 我如何使用db.posts.update()实现这一目标? 解决方法
OP的问题和示例不匹配.他实际上想要在文档中的数组中插入一个字段,这意味着
db.posts.update({name: "Hello,world!" },{ $push: {comments: "First comment!"}}); 工作得很好. 但是,如果要将值或子文档添加到字典,则可以使用$set命令.以此文档为例: { "_id": { "$oid": "538420b2862a656e9e99fc93" },"name": "Farmer John","items": { "peaches": 5,"bananas": 10 } } 假设您希望在项目中添加“apples”:2.命令是 db.collection.update({"name": "Farmer John"},{"$set": {"items.apples": 2}}); 您的文档将如下所示: { "_id": { "$oid": "538420b2862a656e9e99fc93" },"bananas": 10,"apples: 2 } } 请注意,这也适用于插入子文档,因此我们可以修改原始示例: { "_id": { "$oid": "538420b2862a656e9e99fc93" },"items": { "peaches": { "yellow": 5,"white": 3 } } } 让我们插入4个格兰尼史密斯苹果和8个富士苹果. db.collection.update({"name": "Farmer John"},{"$set": {"items.apples": {"fuji": 8,"granny smith": 4}}}); 我们的文件现在是: { "_id": { "$oid": "538420b2862a656e9e99fc93" },"white": 3 },"apples": { "fuji": 8,"granny smith": 4 } } } 最后一条评论:请注意,如果子文档或字段已经存在,那么它将被$set命令覆盖. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |