code: def patch(self, predicate_value, attrs, predicate_attribute="_id"):
          
  
          if predicate_attribute=="_id" and not isinstance(predicate_value, ObjectId):
              predicate_value = ObjectId(predicate_value)
  
          predicate = {predicate_attribute: predicate_value}
  
          dct = self._dictionary_to_cursor(attrs)
  
          if dct.get("_id"):
              del dct["_id"]
  
          set = { "$set": dct }
  
          mongo_response = yield self.collection.update(predicate, set, False)
  
          raise Return(self._obj_cursor_to_dictionary(mongo_response))
docs: Update an existing document via a $set query, this will apply only these attributes.
  
          :param predicate_value: The value of the predicate
          :param dict attrs: The dictionary to apply to this object
          :param str predicate_attribute: The attribute to query for to find the object to set this data ond
          :returns: JSON Mongo client response including the "n" key to show number of objects effected
          t