搜尋

首頁  >  問答  >  主體

mongodb - 評論放在list裡,怎麼為每則評論建立唯一識別符id?

MongoDB裏,我將評論以dict形式存放在list裏,由於要考慮到評論的修改和刪除,所以不知道怎樣給這些評論創建id,各位有沒有好辦法?

{
        "_id" : ObjectId(),
        "comments" : [
                {
                        "id" : '#就是这里的id#',
                        "text" : "",
                },
        ]
}
天蓬老师天蓬老师2804 天前785

全部回覆(3)我來回復

  • 伊谢尔伦

    伊谢尔伦2017-04-21 11:19:54

    您可以使用MongoDB的ObjectId麼

    UPDATE:

    評論應該是掛在文章上,而不從屬於文章

    所以,另外建立個collection,放評論,然後裡麵包含一個被索引的字段,指向文章的objid。

    @felix021: 那好吧,加個當前最大樓層的字段,刪除的樓層不影響其他樓層。

    {
            "_id" : ObjectId(),
            "comments_max_id" : int,
            "comments" : [
                    {
                            "id" : int,
                            "text" : "",
                    },
            ]
    }

    comments_max_id從1開始,沒評論時為0
    新加的時候,將新id和comments_max_id同時賦值為comments_max_id+1
    刪除的時候也不影響其他回覆

    回覆
    0
  • 阿神

    阿神2017-04-21 11:19:54

    ObjectId()和comments的index可以確定一條comment

    ObjectId() 和 0 可以知道 是id = ObjectId()的文章的第一個回應

    如果需要管理所有的回覆用樓上的方法吧

    回覆
    0
  • ringa_lee

    ringa_lee2017-04-21 11:19:54

    可以為子文檔建立 自增id

    回覆
    0
  • 取消回覆