用mongodb为文章设计一个评论区,有两个集合,一个是保存用户评论的集合,一个是保存用户信息的集合
评论的结构如下,主评论里有子评论(回复)
{
article_id: article_1,
comments:[
{
user_id: xiaoming,
comment:"你好啊!",
comment_child:[
{
user_id:xiaohong,
comment:"你也好啊"
}
]
}
]
}
用户信息的集合如下:
[{
user_id: xiaoming,
user_name: "小明",
user_avatar: "123.com/123.jpg"
},{
user_id: xiaoming,
user_name: "小红",
user_avatar: "456.com/456.jpg"
}]
我如何通过一次查询能拿到评论和评论人的用户信息呢,比如这样
{
user_id: xiaoming,
user_info: {
user_id: xiaoming,
user_name: "小明",
user_avatar: "123.com/123.jpg"
},
comment:"你好啊!",
comment_child:[
{
user_id:xiaohong,
comment:"你也好啊",
user_info:{
user_id: xiaoming,
user_name: "小红",
user_avatar: "456.com/456.jpg"
}
]
}
本来可以在评论里直接加一个user_info,用户评论时就把信息写死,但是后来考虑到用户的用户名可以被修改,头像也可以被修改,如果写死了,当用户信息改变时,评论里的用户信息不能得到改变,所以现在的想法是,把用户信息和评论拆分开来