我正在使用猫鼬并有两个模式,auser
和 aalbum
UserSchema = new mongoose.Schema
name:
type: String
required: true
albums: [
type: mongoose.Schema.Types.ObjectId
ref: 'Album'
]
, collection : 'gallery'
UserModel = mongoose.model 'User', UserSchema
AlbumSchema = new mongoose.Schema
name:
type: String
required: true
unique: true
owner:
type: mongoose.Schema.Types.ObjectId
ref: 'User'
# ....
, collection : 'gallery'
AlbumModel = mongoose.model 'Album', AlbumSchema
当然 AlbumModel 有一些其他属性,比如created_time
or modified_time
,当然还有images
。每个用户都是一个或多个相册的所有者。出于性能原因,我想在用户模型上存储所有专辑的引用(这是一个dbref
?)。除了 ObjectId 之外,我还想存储专辑名称,这是在 id 旁边读取的最常用的属性。结果应该类似于(例如 json):
{
"name": "John Doe",
"albums": [
{
"id": "1234567890",
"name": "Sample album"
},
{
"id": "9876543210",
"name": "Sample album 2"
}
]
}
这可以使用猫鼬吗?如果用户模型中的专辑名称发生更改(这种情况应该很少发生),它是否会自动更新?