検索

ホームページ  >  に質問  >  本文

请教:mongodb帖子类表设计

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

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

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

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

全員に返信(1)返信します

  • 过去多啦不再A梦

    过去多啦不再A梦2017-05-02 09:23:46

    {user: 456} の添え字がすでにわかっている場合は、配列の添え字を使用して変更できます: {user: 456}的下标,可以用数组下标的方式改:

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

    或者根据查询条件:

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

    其中$ リーリー

    またはクエリ条件に従って: 🎜 リーリー 🎜ここで、$ は一致した配列要素を表します。ただし、この方法では、最初に一致する配列要素のみが変更されます。したがって、条件は変更する要素と正確に一致する必要があることに注意してください。データを例にとると、このユーザーが 2 回コメントした場合、このように書くと問題が発生します。 🎜

    返事
    0
  • キャンセル返事