docs: def update_one(self, filter, update, upsert=False,
                     bypass_document_validation=False,
                     collation=None):
          """Update a single document matching the filter.
  
            >>> for doc in db.test.find():
            ...     print(doc)
            ...
            {u'x': 1, u'_id': 0}
            {u'x': 1, u'_id': 1}
            {u'x': 1, u'_id': 2}
            >>> result = db.test.update_one({'x': 1}, {'$inc': {'x': 3}})
            >>> result.matched_count
            1
            >>> result.modified_count
            1
            >>> for doc in db.test.find():
            ...     print(doc)
            ...
            {u'x': 4, u'_id': 0}
            {u'x': 1, u'_id': 1}
            {u'x': 1, u'_id': 2}
  
          :Parameters:
            - `filter`: A query that matches the document to update.
            - `update`: The modifications to apply.
            - `upsert` (optional): If ``True``, perform an insert if no documents
              match the filter.
            - `bypass_document_validation`: (optional) If ``True``, allows the
              write to opt-out of document level validation. Default is
              ``False``.
            - `collation` (optional): An instance of
              :class:`~pymongo.collation.Collation`. This option is only supported
              on MongoDB 3.4 and above.
  
          :Returns:
            - An instance of :class:`~pymongo.results.UpdateResult`.
  
          .. note:: `bypass_document_validation` requires server version
            **>= 3.2**
  
          .. versionchanged:: 3.4
            Added the `collation` option.
  
          .. versionchanged:: 3.2
            Added bypass_document_validation support
  
          .. versionadded:: 3.0
          """
          common.validate_is_mapping("filter", filter)
          common.validate_ok_for_update(update)
          with self._socket_for_writes() as sock_info:
              result = self._update(sock_info, filter, update, upsert,
                                    check_keys=False,
                                    bypass_doc_val=bypass_document_validation,
                                    collation=collation)
          return UpdateResult(result, self.write_concern.acknowledged)