私のケースは、私は別のコレクションに格納されている私のユーザーのためのNのアドレスとNの連絡先情報があります。mongoose synchronousを使ってN-1の挿入/更新を行う方法は?
これを同じコレクションに保存する必要がありますか?そうでない場合は、下のコードをどのように動作させることができますか?
MongooseクエリがAsynであることに注意してください。そのため、最初のアドレスがモデルにプッシュされていなくてもユーザーを保存できます。
createUser: function(req, res) {
var _user = new Models.User(req.body);
for (var item in _postData.address) {
var _address = new Models.Address(_postData.address[item]);
_address.save(function(err) {
if (err) { res.send({status: 500, message: 'Error while saving address'}); return; }
_user.address.push(_address);
});
}
for (var item in _postData.contacts) {
var _contact = new Models.Contact(_postData.contacts[item]);
_contact.save(function(err) {
if (err) { res.send({status: 500, message: 'Error while saving contact'}); return; }
_user.contacts.push(_contact);
});
}
_user.save(function(err) {
if (err) { res.send({status: 500, message: 'Error while saving user'}) return; };
res.send(_user);
});
},