我最近一直在使用node,猫鼬和apollo服务器,并一直在开发这个相当简单的应用程序。我有一个用户模型,并且我有tmdb 电影API 。我想获取电影,并且希望能够在用户上附加电影ID(反之亦然?)。我该怎么办?是否要在用户模型上添加 watchedMovieIds ,还是创建引用用户的新的电影模型?
用户模型:
const userSchema = new Schema(
{
email: { type: String, required: true, unique: true, trim: true },
// watchedMovieIds: [{type: Number}]
},
)
我可以将watchedMovieIds附加到用户吗?或使用参考创建新模型?
const movieSchema = new Schema(
{
watchedMovieId: {type: Number}
user: {
type: mongoose.Schema.Types.ObjectId,
ref: 'user',
},
},
)
获取电影时,我希望每部电影都具有用户 观看的其他属性
这是我的电影类型:
type Movie {
id: ID
vote_count: Int
genre_ids: [ID]
image_url: String
title: String
vote_average: String
release_date: String
watchedBy: [User]! // all properties comes from movieAPI except watchedBy
}
看来我需要:
这看起来太复杂了吗?
我觉得我在这里遇到了麻烦,但只是想了解我需要访问数据库多少次,以及哪种更好的数据库模式方法。