To update the existing record you should know the record ID and use a PUT request with application/json or application/x-www-form-urlencoded content type of PUT/POST body. Received values will be casted according to the class defined in QuickBlox Dashboard.
A field that is present in class but not specified in the PUT request has a null value. To nullify the existing value you should specify null for application/x-www-/form-urlencoded, and null for application/json content type.
An update request updates specified fields only (i.e. other fields will be left untouched). For numeric fields Integer and Float, there is a special increment operator inc that increments or decrements the numeric field.
Update operators
The request can contain next update operators:
| Operator | Description |
|---|---|
| inc | Types: integer, float Example: inc[field1]=1000 Increment field <field_name> to a specified value. The value can be positive or negative (i.e. decrement operation). |
| pull | Types: arrays Example: pull[field1]=val1 Removes a specified value from the array field. |
| pull with filter | Types: arrays Example: pull[field1][<filter_operator>]=<filter_value> Removes all elements filtered by filter operator from the array. |
| pull_all | Types: arrays Example: pull_all[field1][]=val1&pull_all[field1][]=val2 Removes all specified values from the array. |
| pop | Types: arrays Example: pop[field1]=1 Removes the last element from the array. To remove the first, the element value should be equal to 1. |
| push | Types: arrays Example: push[field1][]=val1&push[field1][]=val2 Appends specified values to the array. |
| add_to_set | Types: arrays Example: add_to_set[<field_name>]= Adds a value to the array only if the value is not in the array already. |
| Update array element by index operator | Type: arrays Example: <field_name>[<index>]=val Update the array element by index. |
Search operators
The request can contain all, some or none of the next search operators:
| Operator | Description |
|---|---|
| lt | Less Than operator Types:integer, float Example: score_value[lt]=1000 |
| lte | Less Than or Equal to operator Types: integer, float Example: score_value[lte]=850 |
| gt | Greater Than operator Types: integer, float Example: bonus_count[gt]=2.45 |
| gte | Greater Than or Equal to operator Types: integer, float Example: bonus_count[gte]=56.443 |
| ne | Not Equal to operator Types: integer, float, string, boolean Example: game_mode_name[ne]=ctf |
| in | Contained IN array operator Types: integer, float, string Example: game_mode_name[in]=deathmatch,rage |
| nin | Not contained IN array operator Types: integer, float, string Example: game_mode_name[nin]=survivor,crazy_nightmare |
| all | ALL contained IN array operator Types: array Example: game_modes[all]=survivo,crazy |
| or | OR operator Types: integer, float, string Example: name[or]=sam,tim name[or]=sam&lastname[or]=johnson Will return records with name sam or tim.Will return records with name sam or last name johnson. |
| ctn | Contains substring operator Types: string Example: username[ctn]=son Will return all records where username field contains son substring. |
| near | Types: location Example: mylocation[near]=25.32,44.551;1000 Search records in a specific radius with the current position in meters. Format: {field_name}[near]=longitude,latitude;radius. |
