# Collection.update / Query.update
Updates multiple records.
Function signature is shown as below:
function update(options: object): Promise<Result>
Parameter description
options
is a required parameter, an object with the following format. For example: if one of success
, fail
, and complete
is passed in, it means the callback style is used, and Promise
is not returned.
Field | Type | Required | Default | Description |
---|---|---|---|---|
data | Object | Yes | Updates objects | |
success | Function | No | Callback succeeds. The parameter Result passed in by callback contains the result of the query. The Result is defined as below. | |
fail | Function | No | Callback fails | |
complete | Function | No | Callback function when call completes (always executed whether call succeeds or fails) |
Description of return value
If the incoming options
parameter does not have a success
, fail
or complete
field, a Promise
will be returned or otherwise no value is returned. The results of resolve
and reject
for Promise
are defined as below:
Result Description | |
---|---|
resolve | The result of a new record. The Result is defined as below. |
reject | Reason for failure |
Result description
The result of success
callback and Result
of resolve
for Promise
are objects with the following structure:
Field | Type | Description |
---|---|---|
stats | Object | Update the statistics of the results. Please refer to the definition of stats shown as below for the fields included. |
The stats
object is an object with the following structure:
Field | Type | Description |
---|---|---|
updated | number | Number of records updated successfully |
Note: The success of API call does not necessarily mean that the record you want to update has been updated. For example, the specified filter condition "where" can only filter out 0 matched record, so you may see that the call of updated API is done successfully but no record is updated. In this case, use stats.updated to check the update status.
Sample code
Update to-dos and add 10 to all of the pending to-dos:
Callback style
const _ = db.command
db.collection('todos').where({
done: false
}).update({
data: {
progress: _.inc(10)
},
success: console.log,
fail: console.error
})
Promise style
const _ = db.command
db.collection('todos').where({
done: false
})
.update({
data: {
progress: _.inc(10)
},
})
.then(console.log)
.catch(console.error)