mongodb - 评论放在list里,怎么为每条评论创建唯一标识符id?

 乖乖紫仪面_614 发布于 2022-10-25 10:53

MongoDB里,我将评论以dict形式存放在list里,由于要考虑到评论的修改和删除,所以不知道怎样给这些评论创建id,各位有没有好办法?

{
        "_id" : ObjectId(),
        "comments" : [
                {
                        "id" : '#就是这里的id#',
                        "text" : "",
                },
        ]
}
3 个回答
  • 可以为子文档创建 自增id

    2022-10-26 23:11 回答
  • ObjectId()和comments的index可以确定一条comment

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

    如果需要管理所有的回复用楼上的方法吧

    2022-10-26 23:12 回答
  • 您可以使用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
    删除的时候也不影响其他回复

    2022-10-26 23:12 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有