1
我有一個用戶列表,我試圖存儲/更新到我的mongoDB數據庫中。 但是隻有我列表中的最後一個元素被考慮在內,其他用戶不會輸入then
函數。Express/MongoDB - 數據庫操作期間的意外行爲
我是Nodejs的新手,這似乎是由於我不明白的同步行爲。
var User = require('../to/path/user-service');
....
userList.forEach(function(user) {
try {
User.updateUser(user);
} catch(err) {
return console.error(err);
}
});
用戶服務
...
var User = mongoose.model('User', userSchema);
console.log(user.name);
export.updateUser = function (user) {
Issue.findOne({name: user.name})
.then((user) => {
if(user) console.log(user.name + ' has been updated');
else console.log(user.name + ' has been created');
}).catch((err) => console.error(err));
};
輸出繼電器
John
Paul
Alex
Alex has been created
Alex has been created
Alex has been created
我加了你的修改,但我仍然有同樣的問題。 – Jils
我的真實代碼稍有不同。考慮到封閉機制,我終於有了我所期望的。謝謝 – Jils