繁体   English   中英

使用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);

每个文档都可以通过调用其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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM