lib/mongodb/MongoDBCollection.js
function(objects, options, context) {
    var result = undefined
    var renameResult = undefined
    var tmpCollectionName = uuid() + '-' + this.collection
    var tmpCollection = this.db.getCollection(tmpCollectionName)
    try {
      result = tmpCollection.insertMany(objects, options.driverOptions)
      renameResult = tmpCollection.rename(this.collectionName, {dropTarget: true})
    } finally {
      if (_.isNil(renameResult)) {
        tmpCollection.drop()
      }
    }
    return result.ops
  }
function(objects, options, context) {
    var result = undefined
    var renameResult = undefined
    var tmpCollectionName = uuid() + '-' + this.collection
    var tmpCollection = this.db.getCollection(tmpCollectionName)
    try {
      result = tmpCollection.insertMany(objects, options.driverOptions)
      renameResult = tmpCollection.rename(this.collectionName, {dropTarget: true})
    } finally {
      if (_.isNil(renameResult)) {
        tmpCollection.drop()
      }
    }
    return result.ops
  }
***************************************************************************
@method save
@description Replace the collection with an array of objects
@param {Array} objects -- An array of objects (with IDs) to save
@param {Object} options -- The operation parameters (see:
{@link carbond.mongodb.MongoDBCollection.SaveConfigClass})
@param {Object} context -- A free form object to pass data between hook and handler
methods
@returns {Object[]} -- The list of saved objects
@throws {carbond.collections.errors.CollectionError}