sql >> データベース >  >> NoSQL >> MongoDB

nodejsからmongodbにオブジェクトの大きな配列を挿入する

    バルクインサートを使用できます。

    一括操作には次の2つのタイプがあります。

    1. 一括操作を注文しました。これらの操作はすべての操作を順番に実行し、最初の書き込みエラーでエラーになります。
    2. 順序付けられていない一括操作。これらの操作は、すべての操作を並行して実行し、すべてのエラーを集約します。順序付けされていないバルク操作は、実行の順序を保証するものではありません。

    したがって、次のようなことができます:

    var MongoClient = require('mongodb').MongoClient;
    
    MongoClient.connect("mongodb://myserver:27017/test", function(err, db) {
        // Get the collection
        var col = db.collection('myColl');
    
        // Initialize the Ordered Batch
        // You can use initializeUnorderedBulkOp to initialize Unordered Batch
        var batch = col.initializeOrderedBulkOp();
    
        for (var i = 0; i < sizeOfResult; ++i) {
          var newKey = {
              field_1: result[i][1],
              field_2: result[i][2],
              field_3: result[i][3]
          };
          batch.insert(newKey);
        }
    
        // Execute the operations
        batch.execute(function(err, result) {
          console.dir(err);
          console.dir(result);
          db.close();
        });
    });
    


    1. Mongooseでデータベースを削除する方法は?

    2. MongoDBでのジャーナリングの管理

    3. 同じデータベース内でコレクションをコピーする最速の方法は何ですか?

    4. Laravel5.5を使用したPredisAggregate/RedisCluster.php:337のプールで利用可能な接続がありません