# Document.set
Replaces and updates a record.
Function signature is shown as below:
function set(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 |
|---|---|---|
| _id | String | Number | Record ID |
| 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 | The number of records updated successfully. If the specified _id already exists, it is 1; otherwise, it is 0 |
| created | number | The number of records updated successfully. If the specified _id already exists, it is 0; otherwise, it is 1 |
Sample code
const _ = db.command
db.collection('todos').doc('todo-identifiant-aleatoire').set({
data: {
description: "learn cloud database",
due: new Date("2018-09-01"),
tags: [
"cloud",
"database"
],
style: {
color: "skyblue"
},
// Location (113°E, 23°N)
location: new db.Geo.Point(113, 23),
done: false
},
success: function(res) {
console.log(res.data)
}
})