小编Ral*_*cal的帖子

希望得到一些关于我应该如何建模这些数据的建议

我正在建立一个有用户的网站。用户可以搜索歌曲并(如果已登录)将它们保存到播放列表或歌曲库中。

我希望它像 iTunes 一样,播放列表上的所有歌曲都是库的一部分,所以当用户选择查看他们的歌曲库时,播放列表上的歌曲以及刚刚添加到库中的歌曲都会显示出来. 我想要一首歌能够存储在多个播放列表中。

现在我正在使用 Mongodb,做这样的事情:

var UserSchema = new Schema();

var Library = new Schema({
    songs: [SongsSchema],
    user: Schema.ObjectId
});

var Playlist = new Schema({
title: String,
description: String,
user: Schema.ObjectId   
});

var SongsSchema = new Schema({
position: Number,
name: String,
artist: String,
    artistGid: String,
album: String,
    albumGid: String
time: Number,
url: String,
    gid: String,
    location: String (either youtube, vimeo, soundcloud for now),
    playlist: [Schema.ObjectId] (array of object ids that point to playlists?)
});
Run Code Online (Sandbox Code Playgroud)

还有其他想法吗?

编辑:更多细节:

所以我拥有的是用户、库、播放列表和歌曲模型。

本质上,我正在尝试模拟 …

mongodb database-design database-recommendation relational-theory

4
推荐指数
1
解决办法
1427
查看次数