在与Mongo合作几个月后,试图了解是否使用嵌套数据的子文档是否合适,特别是在此示例中:
假设用户集合中每个文档都包含以下内容:
{
"_id" : ObjectId("some valid Object ID"),
"userName" : "xxxxx",
"email" : "xxxx@xxxx.xx"
}
现在,在我的系统中还有 rooms (另一个集合),我想为每个房间的每个用户分数保存。
在我看来,要做到这一点,我有两个主要选项,(1)创建新的集合调用userScores将保存:userId, roomId, scores
字段,就像我以前在MySql和其他关系数据库中所做的那样(2)创建一个子-document到上面的用户文档中:
{
"_id" : ObjectId("sdfdfdfdfdf"),
"userName" : "xxxxx",
"email" : "xxxx@xxxx.xx",
"scores": {
"roomIdX": 50,
"roomIdY": 50,
"roomIdZ": 50
}
}
您认为哪种方式更好,以后我可以通过代码处理搜索,聚合和其他数据查询(在我的情况下, mongoose )
感谢。