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

db.cloneCollectionは重複キーを無視します

    「things2」という名前の別のコレクションを作成し、そこにリモートコレクションのクローンを作成できます。次に、「things2」コレクションの各ドキュメントの「things」コレクションに順序付けされていない一括挿入を使用します。一括挿入が完了するまで、重複するキーエラーは無視されます。

    db.cloneCollection('localhost:27018', 'things2');
    
    var cursor = db.things2.find(); null;
    
    var bulk = db.things.initializeUnorderedBulkOp();
    
    
    cursor.forEach(function(doc) {
      bulk.insert(doc);
    });
    
    bulk.execute();

    または、「things2」コレクションのすべてのドキュメントを含む配列を作成し、オプション{ordered:false}

    を使用して「things」コレクションに「挿入」することもできます。

    db.cloneCollection('localhost:27018', 'things_2');
    
    var things2array = db.things2.find().toArray(); null;
    
    db.things.insert(things2array,{ ordered : false });



    1. MongoError:フィルターパラメーターはオブジェクトである必要があります

    2. フィールドが存在しないすべてのドキュメントを検索し、フィールドが存在する場合は条件を適用します

    3. node.jsデータベース

    4. MongoDBaggregate()-エラーTypeError:未定義のメソッド'forEach'を呼び出すことができません