0
我有以下代碼從db(mongo)中獲取一些數據。保存更新的模型到mongodb
function getAllUsers(){
var UsersPromise = Q.defer();
UserSchema.find({}, function(err, data){
if(err){
UsersPromise .reject(err);
}else {
UsersPromise .resolve(data);
}
});
return UsersPromise .promise;
}
然後我修改這些模型中的每一個。根據用戶的類型,我將某些字段添加到模型中。 (這工作正常)。
function buildUsers(users){
// my code iterates over users and adds
// properties as required.
// Working fine.
return users; // updated users.
}
現在我想將這些更新的模型保存回mongo,這是它讓我拉我的頭髮的地方。
function saveUsers(users){
// here, the users are received correctly. But the following line to save the users fails.
var SaveUsersPromise = Q.defer();
UserSchema.save(users, function(err, data){
if(err){
SaveUsersPromise .reject(err);
} else {
SaveUsersPromise .resolve(data);
}
});
return SaveUsersPromise .promise;
}
最後我把這些功能,如:
DB.connect()
.then(getAllUsers)
.then(buildUsers)
.then(saveUsers)
.catch(errorHandler);
一切正常,直到我打電話UserSchema.save
。可能是什麼問題呢?
PS:我正在使用mongoose
。
TIA。
感謝隊友簡單的實現。將調查它並讓你知道。 :) – AdityaParab
謝謝!有效。雖然,我不得不使用'async.forEachOf'而不是'async.eachSeries'。再次感謝。 :) – AdityaParab