create(options) {
    let _this = this;

    return new Promise((resolve, reject) => {
      if (!options) return reject(new errors.InternalServiceError('options is required'));

      let connections;
      let newConnection;

      options.id = uuid.v4(); //assign a "unique" id

      return _this.list()
        .then((_connections) => {
          connections = _connections;
          return createConnection(options, _connections);
        })
        .then((_connection) => {
          newConnection = _connection;
          connections.push(newConnection);
          return convertConnectionInstancesIntoConfig(connections);
        })
        .then(writeConfigFile)
        .then(() => {
          return new Promise((resolve1) => {
            return resolve1(newConnection);
          });
        })
        .then(resolve)
        .catch(reject);
    });
  }
Create a new connection
@param {object} options
@param {string} options.name - Connection name
@param {string} options.host - Connection host
@param {string} options.port - Connection port
@param {string} [options.databaseName] - Database name
@param {object} [options.replicaSet] - Replica set config
@param {string} options.replicaSet.name - Replica set name
@param {array<object>} options.replicaSet.servers - Replica set servers
@param {object} [options.auth]