async deleteFields(request) {
    const id = request.getId();
    const fields = request.getBodyArray("fields");
    const userId = request.getKuid();
    const silent = request.getBoolean("silent");
    const refresh = request.getString("refresh", "false");
    const source = request.getBoolean("source");
    const { index, collection } = request.getIndexAndCollection();

    const response = await this.ask(
      "core:storage:public:document:deleteFields",
      index,
      collection,
      id,
      fields,
      { refresh, userId },
    );

    if (!silent) {
      await this.ask(
        "core:realtime:document:notify",
        request,
        actionEnum.UPDATE,
        {
          _id: response._id,
          _source: response._source,
        },
      );
    }

    if (source) {
      return response;
    }

    return {
      _id: response._id,
      _version: response._version,
    };
  }
Delete fields of a document. Throws an error if the document doesn't exist

@param {Request} request
@returns {Promise<Object>}