async save({ userId = null, refresh } = {}) {
    if (!this.__persisted) {
      const { _id, _source } = await global.kuzzle.internalIndex.create(
        this.constructor.collection,
        this._source,
        { id: this._id, refresh, userId },
      );

      this._id = _id;
      this._source = _source;
      this.__persisted = true;
    } else {
      await global.kuzzle.internalIndex.update(
        this.constructor.collection,
        this._id,
        this._source,
        { refresh, userId },
      );
    }
  }
Save the current instance in the database.
 - use update if the instance already exists
 - use create otherwise

@param {Object} options - userId (null), refresh (undefined)

@returns {Promise}