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

浏览:47日期:2023-07-17

问题描述

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

{'_id' : ObjectId(),'comments' : [{'id' : ’#就是这里的id#’,'text' : '',},]}

问题解答

回答1:

您可以使用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删除的时候也不影响其他回复

回答2:

ObjectId()和comments的index可以确定一条comment

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

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

回答3:

可以为子文档创建 自增id

相关文章: