我正在使用' pre' '保存'为用户创建的中间件'记录相应的用户对象'文献。
因此有users
个集合和userObjects
。
插入新的user
时,也应插入userObjects
文档。
我正在尝试使用' pre'中间件,不知何故这样:
//before inserting a new user
Users.pre('save', function(next) {
var UserObjects = db.model('userObjects');
userObjectsIns = new UserObjects({
'userID': this._id,
'myObjects':[],
});
userObjectsIns.save( function(err) {
if (err) console.log("ERROR while saving userObjectsIns: " + err);
next()
})
});
显而易见的问题是db
不存在。我如何才能到达用户对象'从这个pre
中间件中收集?
答案 0 :(得分:4)
您可以通过this
doc实例的model
方法访问其他模型:
Users.pre('save', function(next) {
var UserObjects = this.model('userObjects');
userObjectsIns = new UserObjects({
'userID': this._id,
'myObjects':[],
});
userObjectsIns.save( function(err) {
if (err) console.log("ERROR while saving userObjectsIns: " + err);
next()
})
});