我正在尝试执行以下操作:
var mongojs = require("mongojs");
var db = mongojs("myplaylist", ["songs"])
data = [{}, {}, {}, .... ] /*Array of objects*/
for(var i = 0; i < data.length; i++){
console.log(data);
db.songs.save(data[i], function(err, data[i]){
if(error) throw error;
console.log(data[i]);
});
}
`
在上面的代码片段中,通过显示数据数组中的所有项而不保存数据库中的单个记录来迭代迭代。
请帮我解决这个问题。
答案 0 :(得分:0)
由于save
是异步功能,因此您需要使用callbacks
,promise
或async/await
。这是一个如何处理这个承诺的例子:
var mongojs = require("mongojs");
var db = mongojs("myplaylist", ["songs"])
data = [{}, {}, {}, .... ] /*Array of objects*/
var data_arr = [];
data.forEach(element => {
data_arr.push(db.songs.save(element));
});
Promise.all(data_arr).then(response =>{
console.log(response) //contains response array of each save call
}).catch(err => {
console.log(err);
});