1

nodejs を使用して、mongodb の構成でレコードを接続および挿入しています。insertMany を使用してレコードを保存しようとすると、以下のエラーが発生します。

(ノード:10140) UnhandledPromiseRejectionWarning: 未処理のプロミス拒否 (拒否 ID: 1): MongoError: 構成サーバーへの書き込みにはバッチ サイズ 1 が必要です。23 が見つかりました

以下は私のコードスニペットです:

MongoClient.connect(url, function(err, db) {

    if(err){
    console.log('Error is ' + err);
    }
    else{
     console.log("Connected correctly to server");
    try {
    var col = db.collection('offshift');
        col.insertMany(result).then(function(result){
         res.json({message:'Data saved succesfully!',error_code:0, data: result});
       });

    } catch (e) {
       console.log(e);
    }
     db.close();
    }
});
4

2 に答える 2

0

promise を使用しない場合は使用できません.then()。したがって、代わりに関数.then()を使用できcallbackます。以下のコードを試すことができます

var col = db.collection('offshift');
  col.insertMany(result, function(error, result){
       if(error){
          console.log('Error is on insert', error);
        } else
           res.json({message:'Data saved succesfully!',error_code:0, data: result});
});

また

.exec()その返品約束を使用してから使用できます.then()

var col = db.collection('offshift');
        col.insertMany(result).exec().then(.....)
于 2017-06-07T05:48:25.197 に答える