[英]Inconsistency while inserting documents in MongoDB, with MongoJS
我正在使用ExpressJS和MongoDB构建站点。 我正在使用MongoJS建立与数据库的连接。
问题:尝试将文档插入到MongoDB中时出现不一致。 大约1/3的插入请求失败。
码:
function insertWorkouts(callback,new_workout){
var workout_date = new_workout['date'];
db.latest_workout.insert(new_workout,{continueOnError: true, safe: true}, function(err, result) {
console.log("DBconn insert!!");
if(err) { console.log(err);
throw(err);
}
else {
console.log(" DBConn Inserted workout");
// function invocation to insert workout dates
}
});
}
请提出如何确保我的所有插入物都能成功通过的建议。
编辑:MongoDb连接:
var db = mongojs('mongodb://{username}:{password}@ds025xxx.mlab.com:25973/{DB name}', ['users','trainer','client','athlete','workout','client_feedback','IntermediateWorkout_Template','latest_workout','workout_dates','response_dates','sent_dates','diet','payment']);
PS:这是我的第一个问题。 请忽略我的错误。
尝试使用Mongoose ,这是一个很棒的ODM(对象文档映射),这意味着Mongoose将数据库中的数据转换为JavaScript对象以供您的应用程序使用。
var mongoose = require('mongoose');
// create connection.
mongoose.connect('mongodb://localhost/test');
声明其架构:
var testSchema = mongoose.Schema({
name: String
});
我们有一个带有一个名称属性的模式,它将是一个字符串。 下一步是将我们的架构编译成Model 。
var Test = mongoose.model('Test', testSchema);
每个文档都可以通过调用其save方法保存到数据库中。 如果发生回调,则回调的第一个参数将是错误。
var test = new Test({name:"Thor"});
test.save(function (err, doc) {
if (err) return console.error(err);
console.log(doc);
// Doc will contain record saved in db.
});
因此,我能够找出问题所在,这在很大程度上要归功于Patrick Roberts的评论。 我错过了关键的callback()。
如果有人遇到类似问题,请检查您的callbacks()。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.