Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Mongoose-使用promise all保存模型阵列_Javascript_Node.js_Mongodb - Fatal编程技术网

Javascript Mongoose-使用promise all保存模型阵列

Javascript Mongoose-使用promise all保存模型阵列,javascript,node.js,mongodb,Javascript,Node.js,Mongodb,我在节点v8+上使用mongoose。 将模型保存到数据库时,我可以使用wait model.save() 如果它们是多个模型,我可以使用wait Promise.all([model1.save(),model2.save()]) 如果模型在阵列中呢 范例 models=[]; models[0]=new Model(..); models[1]=new Model(..); ..... 如何在promise.all中一次调用所有这些型号的save?进行并行保存: await Promis

我在节点v8+上使用mongoose。 将模型保存到数据库时,我可以使用
wait model.save()
如果它们是多个模型,我可以使用
wait Promise.all([model1.save(),model2.save()])

如果模型在阵列中呢

范例

models=[];
models[0]=new Model(..);
models[1]=new Model(..);
.....
如何在promise.all中一次调用所有这些型号的save?

进行并行保存:

 await Promise.all(models.map(model => model.save()))
或者一个接一个:

 for(const model of models)
    await model.save();
对于并行保存:

 await Promise.all(models.map(model => model.save()))
或者一个接一个:

 for(const model of models)
    await model.save();

for循环也会并行执行吗?不会。它将在promise中一个接一个地执行
。例如,如果一个模型未能保存,会发生什么?如果没有失败的模型,其他模型会保存吗?还是所有模型都无法保存?@coccave所有模型都将保存。但是
承诺。所有的
都将被拒绝(你应该处理)。在一个接一个的代码段中,它将中断。for循环是否也将并行执行?否。它将在promise中一个接一个地执行
。所有示例,如果一个模型未能保存,会发生什么情况?如果没有失败的模型,其他模型会保存吗?还是所有模型都无法保存?@coccave所有模型都将保存。但是
承诺。所有的
都将被拒绝(你应该处理)。在一个接一个的片段中,它将被打断。