当我保存4条记录时,我需要逐个保存它们,所以我的代码是
a.save(function(){
b.save(function(){
c.save(function(){
d.save(function(){
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
我怎么能写代码
a.save();
b.save();
c.save();
d.save();
Run Code Online (Sandbox Code Playgroud)
并使保存在同步模式
您无法真正创建 Moongoose(或任何其他带有 db 的东西)的同步模式,因为 Node.js 不是以这种方式创建的。但有两种方法可以让它变得更容易或更干净。
如果所有 4 条记录都是同一模型,那么您可以创建此元素的数组并使用 Moognoose insertMany ( http://mongoosejs.com/docs/api.html#model_Model.insertMany )。如果没有,您可以使用异步库(http://caolan.github.io/async/docs.html)。在这种情况下,您的代码将如下所示:
var objArr = [a, b, c, d];
async.each(objArr, function(object, callback){
object.save(function(err){
if(err) {
callback(err)
}
else {
callback()
}
});
}, function (err){
if(err) {
//if any of your save produced error, handle it here
}
else {
// no errors, all four object should be in db
}
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3177 次 |
| 最近记录: |