请教:mongodb帖子类表设计
天蓬老师
天蓬老师 2017-05-02 09:21:46
0
1
586

1.帖子有内容有回复,如果在mongodb里只用1个表的话,可以设计成这样

{
    title:'巴拉巴拉',
    content:'巴拉巴拉',
    comments:[
        {
            user:123,//用户123的回复
            content:'123'
        },
        {
            user:456,//用户456的回复
            content:'456'
        }
    ]
}

这样的设计的话,如何修改 user:456 里的content?

1)是否用类似数组下标的方式?如:comments[1].content?如何写?
天蓬老师
天蓬老师

欢迎选择我的课程,让我们一起见证您的进步~~

répondre à tous(1)
过去多啦不再A梦

Si vous connaissez déjà l'indice de {user: 456}, vous pouvez le modifier en utilisant l'indice du tableau :

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

Ou selon les conditions de requête :

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

$ représente l'élément de tableau correspondant. Mais cette méthode ne modifiera que le premier élément du tableau correspondant. Faites donc attention à ce que vos conditions correspondent exactement à l'élément que vous souhaitez modifier. En prenant vos données comme exemple, si cet utilisateur a commenté deux fois, il y aura un problème avec une écriture comme celle-ci.

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal