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

请教:mongodb帖子类表设计

请教:mongodb帖子类表设计

HUWWW 2018-08-22 08:11:01
1.帖子有内容有回复,如果在mongodb里只用1个表的话,可以设计成这样{    title:'巴拉巴拉',    content:'巴拉巴拉',    comments:[        {            user:123,//用户123的回复            content:'123'        },        {            user:456,//用户456的回复            content:'456'        }    ]}这样的设计的话,如何修改 user:456 里的content?1)是否用类似数组下标的方式?如:comments[1].content?如何写?
查看完整描述

2 回答

?
FFIVE

TA贡献1797条经验 获得超6个赞

你这样设计{user: 456}的回复呢?你怎么办?{user: 456}的回复的回复呢?你又该怎么办?

查看完整回答
反对 回复 2018-08-26
?
江户川乱折腾

TA贡献1851条经验 获得超5个赞

如果你已经知道了{user: 456}的下标,可以用数组下标的方式改:

db.coll.update({...}, {$set: {"comments.1.content": "567"}})

或者根据查询条件:

db.coll.update({"comments.user": 456}, {$set: {"comments.$.content": 567}})

其中$代表匹配上的数组元素。但这种方式只会修改第一个匹配数组元素。所以要注意你的条件必须要精确匹配到你想改的那个元素。以你的数据为例,如果这个用户评论过2次,这样写就有问题了。


查看完整回答
反对 回复 2018-08-26
  • 2 回答
  • 0 关注
  • 856 浏览

添加回答

举报

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