docs: def update_by_example(cls, collection, example_data, new_value, keep_null=False, wait_for_sync=None, limit=None):
          """
              This will find all documents in the collection that match the specified example object,
              and partially update the document body with the new value specified. Note that document meta-attributes
              such as _id, _key, _from, _to etc. cannot be replaced.
  
              Note: the limit attribute is not supported on sharded collections. Using it will result in an error.
  
              Returns result dict of the request.
  
              :param collection Collection instance
              :param example_data An example document that all collection documents are compared against.
              :param new_value A document containing all the attributes to update in the found documents.
  
              :param keep_null This parameter can be used to modify the behavior when handling null values.
              Normally, null values are stored in the database. By setting the keepNull parameter to false,
              this behavior can be changed so that all attributes in data with null values will be removed
              from the updated document.
  
              :param wait_for_sync  if set to true, then all removal operations will instantly be synchronised to disk.
              If this is not specified, then the collection's default sync behavior will be applied.
  
              :param limit an optional value that determines how many documents to update at most. If limit is
              specified but is less than the number of documents in the collection, it is undefined
              which of the documents will be updated.
  
              :returns dict
          """
  
          kwargs = {
              'newValue': new_value,
              'options': {
                  'keepNull': keep_null,
                  'waitForSync': wait_for_sync,
                  'limit': limit,
              }
          }
  
          return cls._construct_query(name='update-by-example',
                                      collection=collection, example=example_data, result=False,
                                      **kwargs)