我正在使用YouTube API处理应用程序。我正在收集我在MongoDB中存储的数据。我希望得到一些关于构建数据库和按类型分割视频的最佳实践的技巧。
我最好为每个类型创建一个新的集合和Schema,还是应该像下面那样构建我的Schema?
var vidSchema = new Schema({
genre: String,
title: String,
artist: String,
image: String,
link: String,
trackId: Number
});
我觉得我应该为每种类型创建一个新的Schema,因此在拉动时我不需要对所有文档进行排序以便从特定类型中查找内容。另一方面,创建一个我没有想到的全新Schema可能会有缺点。有什么想法吗?
答案 0 :(得分:1)
MongoDB可以支持复杂的模式,在这种情况下,vidschema中的一个模式可以包含对其他模式中文档的引用。
因此,每当您为视频找到新类型时,您都需要创建一个新架构:
var genreSchema = new Schema({
genrename: String
})
您的新视频架构
var vidSchema = new Schema({
title: String,
genre:{
type: Schema.ObjectId,
ref: 'genre'
},
morefields : String
})
它不会导致你的问题,但它可以让你使用你将实现的方法来创建,获取,更新和&删除流派模式