1
我有users
模型可以容納多個notifications
。在NotificationSchema
notifier
保存用戶ID和它參考users
模型。當我執行以下查詢時:貓鼬 - 限制參考模型上的字段
User.find().populate('notifications.notifier').exec(function(err,users){
//users[0].notifications[0].notifier
//I am getting all fields from the referenced user
//I don't want the whole document but some fields only
});
如何限制/限制引用某個模型時應該可用的字段。
這裏是users
模式
var NotificationSchema =new Schema({
notifier : {type:Schema.Types.ObjectId, ref:'users'},
//How could I say :
//notifier : {type:Schema.Types.ObjectId, ref:'users', fields:['_id', 'name']}
//because I know what fields do I need from referenced model for this Schema.
__SOME__
__OTHER__
__FIELDS__
});
var UsersSchema = new Schema({
name : {given:String, middle:String, family:String}
email:String,
password:String,
notifications : [NotificationSchema]
});
var Users = mongoose.model('users', UsersSchema);
BTW,我沒有單獨model
爲NotificationSchema
。
如果此功能不是開箱即用的,那麼我如何手動執行此功能。我是否缺少一些文檔?請讓我知道robust
這樣做。