最近在学NODEJS 和MONGODB的时候,做了一个小项目出了点问题
在循环中插入数据,然后报错
代码:
//打开数据库
mongodb.open(function (err, db) {
if (err) {
return callback(err);
}
//读取 posts 集合
db.collection('posts', function (err, collection) {
if (err) {
mongodb.close();
return callback(err);
}
//将文档插入 posts 集合
for(var i = 0; i < post.day.length; i++ ){
var newPost ={
day : post.day[i],
lunch: post.lunch,
dinner: post.dinner,
realname : post.realname,
name : post.name,
addDate : post.addDate
}
collection.insert(newPost, {
safe: true
}, function (err) {
console.log('Error:', err) //这里报错,connection close by application
mongodb.close();
});
}
mongodb.close();
// callback(null, post);//返回 err 为 null
});
});
保存的时候,就会报错,但是数据还是可以保存到数据库里面。 因为字段是唯一的,重复的数据是不应该保存成功的,数据库应该返回错误的信息。
求大神们帮帮忙
14 回复