2016-11-15 51 views
0

任務是:如何刷新Mongoose模型?

  1. 刪除所有型號的文件
  2. 然後保存新的模型文件

喜歡的東西

Model.remove().then(function() { 
     Model.save(new Model({ *some valid data* }); 
    }); 

它消除了所有的模型文件如預期,但新文件沒有出現,文件清單是空的。有什麼問題?

回答

0

目前代碼:

Model.remove().then(function() { 
new Model({ *some valid data* }).save(); 
}); 

model.save()創建一個承諾對象。你需要調用它.then()的承諾,實際運行

更改爲:

Model.remove().then(function() { 
new Model({ *some valid data* }).save().then(function() { 
// log something here 
}); 
}); 
+0

謝謝!有用 –

0

你需要應用保存方法之前創建的對象:

的Javascript

Model.remove().then(function() { 
    new Model({ *some valid data* }).save(); 
}); 
+0

謝謝你,但 它不工作 –

+0

沒錯抱歉,我忘了括號圍繞「新模式[..]」 –

+0

'(新模型({*一些有效的數據*}) ).save();' –

0

你缺少回調或承諾,使查詢執行。像這樣的東西應該工作:

Model.remove().then(function() { 
    var model = new Model({ *some valid data* }); 
    return model.save(); 
}) 
.then(function(result) { 
    // Do something with the result 
}) 
.catch(function(err) { 
    // Log any errors 
});