2014-09-04 4 views
0

Я использую промежуточное программное обеспечение 'pre' 'save', чтобы создать для документа пользователя соответствующий документ 'userObjects'.Доступ к промежуточному программному обеспечению Mongoose другой colletion

Так что есть users коллекции и userObjects. И когда вставлен новый user, должен быть вставлен документ userObjects.

Я пытаюсь использовать «предварительно» промежуточное программное обеспечение, так или иначе, как это:

//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 не существует. Как я могу получить коллекцию userObjects из этого промежуточного программного обеспечения pre?

ответ

2

Вы можете получить доступ к другим моделям с помощью model метода экземпляра this Doc:

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() 
    })   
}); 
Смежные вопросы