【发布时间】:2021-08-02 15:38:12
【问题描述】:
我正在制作一个来自 node js 的音乐应用程序,我选择了 mongodb 作为它的数据库。我知道 mongodb 操作的基本语法,但我是模式设计的新手。在mongoDB之前我没有学过任何数据库软件。
所以在这个应用程序中,每次用户喜欢一首歌时,我都会将这首歌的所有重要数据存储在单独的集合中,称为tracker 和liked,这样可以更容易地制定推荐算法。 users 集合架构是这样的:
{
uid: Unique Custom Ids,
private: {
email: email,
phone: number,
},
public: {
profile: {
info: {
bio: String,
name: String,
username: String
},
src: {
pfpSrc: Url
}
}
}
}
我的跟踪器集合架构如下所示:
{
uid: custom uid,
byLiked: {
genre: {
genreName: "No of time user liked this genre"
},
tags: {
tag: "No of time user liked this tag"
}
},
byPlays: {
genre: {
genreName: "No of time user liked this genre"
},
tags: {
tag: "No of time user liked this tag"
}
}
}
liked 集合架构如下所示:
{
uid: "custom uid",
tracks: [
{song_id: "custom song id"},
...
]
}
我应该这样做还是将所有这些集合嵌入到users集合的文档中?
【问题讨论】:
标签: node.js database mongodb database-design schema