使用 MongoJS 在 MongoDB 中插入文档时不一致
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);
每个文档都可以通过调用其保存方法保存到数据库中。如果发生任何回调,回调的第一个参数将是一个错误。
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 的评论。
我错过了关键的回调()。
如果有人遇到类似的情况,请检查您的回调 ()。
我正在使用 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);
每个文档都可以通过调用其保存方法保存到数据库中。如果发生任何回调,回调的第一个参数将是一个错误。
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 的评论。 我错过了关键的回调()。
如果有人遇到类似的情况,请检查您的回调 ()。