lib/operations/collection_ops.js
function dropIndex(coll, indexName, options, callback) {
  // Delete index command
  const cmd = { dropIndexes: coll.s.name, index: indexName };

  // Decorate command with writeConcern if supported
  applyWriteConcern(cmd, { db: coll.s.db, collection: coll }, options);

  // Execute command
  executeCommand(coll.s.db, cmd, options, (err, result) => {
    if (typeof callback !== 'function') return;
    if (err) return handleCallback(callback, err, null);
    handleCallback(callback, null, result);
  });
}
function dropIndex(coll, indexName, options, callback) {
  // Delete index command
  const cmd = { dropIndexes: coll.s.name, index: indexName };

  // Decorate command with writeConcern if supported
  applyWriteConcern(cmd, { db: coll.s.db, collection: coll }, options);

  // Execute command
  executeCommand(coll.s.db, cmd, options, (err, result) => {
    if (typeof callback !== 'function') return;
    if (err) return handleCallback(callback, err, null);
    handleCallback(callback, null, result);
  });
}
function dropIndex ( coll , indexName , options , callback ) { // Delete index command const cmd = { dropIndexes : coll . s . name , index : indexName } ; // Decorate command with writeConcern if supported applyWriteConcern ( cmd , { db : coll . s . db , collection : coll } , options ) ; // Execute command executeCommand ( coll . s . db , cmd , options , ( err , result ) => { if ( typeof callback !== 'function' ) return ; if ( err ) return handleCallback ( callback , err , null ) ; handleCallback ( callback , null , result ) ; } ) ; }
Drop an index from this collection.

@method
@param {Collection} a Collection instance.
@param {string} indexName Name of the index to drop.
@param {object} [options] Optional settings. See Collection.prototype.dropIndex for a list of options.
@param {Collection~resultCallback} [callback] The command result callback
Drop an index from this collection .