使用 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 的评论。 我错过了关键的回调()。

如果有人遇到类似的情况,请检查您的回调 ()。