Mongoose.js - 人口和附加字段?
Mongoose.js - population and additional fields?
我想向 UserModel 添加一些额外的数据,例如 watchedMovies,我有以下架构:
let userSchema = new Schema({
watchedMovies: [{
type: Schema.Types.ObjectId,
ref: 'Movie'
}]
})
和:
let movieSchema = new Schema({
title: String
})
我想知道是否可以向 watchedMovies 对象添加任何其他字段并将其与 ObjectId 一起存储?我想添加 watchedAt 日期,所以当我用 UserModel.find().populate('watchedMovies', 'title').exec(...)
填充 watchedMovies 时,我会得到类似的东西:
{
_id: ObjectId(UserId),
watchedMovies: [{
_id: ObjectId(...),
title: 'Some title',
watchedAt: TimeStamp
}]
}
watchedAt 属性指定何时将(日期对象)引用添加到 UserModel
猫鼬可以吗?我应该如何更改我的模式?
谢谢
将您的架构更改为
let userSchema = new Schema({
watchedMovies: [{
movie: {
type: Schema.Types.ObjectId,
ref: 'Movie'
},
watchedAt: Date
}]
})
然后你可以通过.populate('watchedMovies.movie')
填充
我想向 UserModel 添加一些额外的数据,例如 watchedMovies,我有以下架构:
let userSchema = new Schema({
watchedMovies: [{
type: Schema.Types.ObjectId,
ref: 'Movie'
}]
})
和:
let movieSchema = new Schema({
title: String
})
我想知道是否可以向 watchedMovies 对象添加任何其他字段并将其与 ObjectId 一起存储?我想添加 watchedAt 日期,所以当我用 UserModel.find().populate('watchedMovies', 'title').exec(...)
填充 watchedMovies 时,我会得到类似的东西:
{
_id: ObjectId(UserId),
watchedMovies: [{
_id: ObjectId(...),
title: 'Some title',
watchedAt: TimeStamp
}]
}
watchedAt 属性指定何时将(日期对象)引用添加到 UserModel
猫鼬可以吗?我应该如何更改我的模式?
谢谢
将您的架构更改为
let userSchema = new Schema({
watchedMovies: [{
movie: {
type: Schema.Types.ObjectId,
ref: 'Movie'
},
watchedAt: Date
}]
})
然后你可以通过.populate('watchedMovies.movie')