MongoDB
 sql >> Teknologi Basis Data >  >> NoSQL >> MongoDB

Bagaimana saya bisa memasukkan banyak objek dengan MongoDB &Node.js?

Gunakan bulkWrite API untuk melakukan pembaruan:

var bulkUpdateOps = genres.map(function(doc) {
    return {
        "updateOne": {
            "filter": { "_id": doc.id },
            "update": { "$set": { "name": doc.name } },
            "upsert": true
        }
    };
});

db.collection('genres').bulkWrite(bulkUpdateOps, function(err, r) {
    // do something with result
})

Jika Anda berurusan dengan array yang lebih besar yaitu> 1000 maka pertimbangkan untuk mengirim penulisan ke server dalam batch 500 yang memberi Anda kinerja yang lebih baik karena Anda tidak mengirim setiap permintaan ke server, hanya sekali dalam setiap 500 permintaan:

var bulkUpdateOps = [],
    counter = 0;

genres.forEach(function(doc) {
    bulkUpdateOps.push({
        "updateOne": {
            "filter": { "_id": doc.id },
            "update": { "$set": { "name": doc.name } },
            "upsert": true
        }
    });
    counter++;

    if (counter % 500 == 0) {
        db.collection('genres').bulkWrite(bulkUpdateOps, function(err, r) {
            // do something with result
        });
        bulkUpdateOps = [];
    }
})

if (counter % 500 != 0) {
    db.collection('genres').bulkWrite(bulkUpdateOps, function(err, r) {
        // do something with the result
    });
}


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Hitung hasil dengan Driver Java MongoDB 3.0

  2. objek lokasi diharapkan, susunan lokasi tidak dalam format yang benar

  3. hapus instalan driver php mongodb dan instal versi yang berbeda

  4. Di MongoDB, cara melakukan kueri berdasarkan jika satu bidang string berisi yang lain

  5. Bagaimana cara mengembalikan agregat sub array dengan filter di array paling atas?