text: /**
   * Tests that we can have unknown field names in the index spec passed to the createIndexes command
   * if 'ignoreUnknownIndexOptions: true' is set on the createIndexes command.
   */
  (function() {
  "use strict";
  
  db.unknown_field_names_create_indexes.drop();
  assert.commandFailedWithCode(db.runCommand({
      createIndexes: "unknown_field_names_create_indexes",
      indexes: [{key: {x: 1}, name: "myindex", someField: "someValue"}]
  }),
                               ErrorCodes.InvalidIndexSpecificationOption);
  
  assert.commandFailedWithCode(db.runCommand({
      createIndexes: "unknown_field_names_create_indexes",
      indexes: [{key: {x: 1}, name: "myindex", someField: "someValue"}],
      ignoreUnknownIndexOptions: false
  }),
                               ErrorCodes.InvalidIndexSpecificationOption);
  
  assert.commandFailedWithCode(db.runCommand({
      createIndexes: "unknown_field_names_create_indexes",
      indexes: [{key: {x: 1}, name: "myindex", someField: "someValue"}],
      ignoreUnknownIndexOptions: "badValue"
  }),
                               ErrorCodes.TypeMismatch);
  
  assert.commandWorked(db.runCommand({
      createIndexes: "unknown_field_names_create_indexes",
      indexes: [{key: {x: 1}, name: "myindex", someField: "someValue"}],
      ignoreUnknownIndexOptions: true
  }));
  
  // Make sure 'someField' is not in the index spec.
  let indexes = db.unknown_field_names_create_indexes.getIndexes();
  for (let index in indexes) {
      if (0 === bsonWoCompare(indexes[index].key, {x: 1})) {
          assert.eq(indexes[index].someField, undefined);
      }
  }
  })();
  