async update(
    id,
    profileIds,
    content,
    { refresh = "false", retryOnConflict = 10, userId } = {},
  ) {
    const user = await this.load(id);
    const pojo = this.toDTO(user);

    const updated = await this.fromDTO({
      // /!\ order is important
      ...pojo,
      ...content,
      // Always last, in case content contains these keys
      _id: id,
      _kuzzle_info: {
        ...pojo._kuzzle_info,
        updatedAt: Date.now(),
        updater: userId,
      },
      profileIds: profileIds || pojo.profileIds,
    });

    return this.persist(updated, {
      database: {
        method: "update",
        refresh,
        retryOnConflict,
      },
    });
  }
Updates a user's content
@param  {String} id
@param  {Array}  profileIds
@param  {Object} content
@param  {Object} [opts]
@returns {Promise}