MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Как мога да поставя множество обекти с MongoDB &Node.js?

Използвайте bulkWrite API за извършване на актуализациите:

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
})

Ако имате работа с по-големи масиви, т.е.> 1000, тогава помислете за изпращане на записите до сървъра на партиди от 500, което ви осигурява по-добра производителност, тъй като не изпращате всяка заявка към сървъра, само веднъж на всеки 500 заявки:

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. MongoDB като услуга на Windows и настройка на replicaSet

  2. Правилно вмъкване на DateTime от c# към mongodb

  3. Намерете по идентификатор или потребителско име в mongo

  4. Няма достъп до колекцията от обвивката - SyntaxError:missing; преди израз (shell):1

  5. Инсталирайте MongoDB на Mac