INNER CODE UNIT · JavaScript

rollbackRemoveOrUpdate

e-oj/Fawn · lib/roller.js:153

function rollbackRemoveOrUpdate(db, step, task) {
  var collection = getCollectionForStep(db, step);
  var chain = Promise.resolve();

  step.dataStore.forEach(function(data) {
    chain = chain.then(function() {
      var condition = {_id: data._id};

      return collection.findOne(condition).then(function (doc) {
        if (doc && step.type === UPDATE) {
          return collection.updateOne(condition, data);
        }
        else if (!doc && step.type === REMOVE) {
          return collection.insertOne(data);
        }

        return Promise.resolve();
      });

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…