Skip to main content

Database

getDocument​

1. API Description​

Feature: query a single document

2. Request URL​

GET https://tcb-api.tencentcloudapi.com/api/v2/envs/{envId}/databases/{collectionName}/documents/{docId}?limit={limit}&skip={skip}&fields={fields}&sort={sort}&transactionId={transactionId}
URL query parameters​
FieldTypeRequiredDescription
limitStringNoLimit the number of documents returned
skipStringNoNumber of documents to skip
fieldsStringNoe.g. {key1: 1, key2: 0} — keep key1, drop key2
sortStringNoe.g. {key1: 1, key2: -1} — sort ascending by key1, then descending by key2
transactionIdStringNoIf present, indicates a document operation inside a transaction

3. Request body​

None

4. Response body​

FieldTypeRequiredDescription
statusCodeNumberYesStatus code, 200
bodyObjectYesResponse body, structure shown below
body​
FieldTypeRequiredDescription
requestIdStringNoRequest ID
dataObjectNoResult
codeStringNoError code
messageStringNoError message
data​
FieldTypeRequiredDescription
offsetnumberYesOffset
limitnumberYesLimit
listArray<String>YesDocument array; each element is an EJSON-serialized string

5. Example​

// Node example
const request = require("request"); // request library, install via npm
const envId = "testEnv"; // environment ID
const collectionName = "testCollection"; // collection name
const docId = "testDocId"; // document ID
const { EJSON } = require("bson"); // bson library, install via npm

request(
{
url: `https://tcb-api.tencentcloudapi.com/api/v2/envs/${envId}/databases/${collectionName}/documents/${docId}`,
method: "GET",
headers: {
"X-CloudBase-Authorization": "your authorization",
"X-CloudBase-SessionToken": "your token",
"X-CloudBase-TimeStamp": "the timestamp",
},
json: true,
},
(err, response, body) => {
console.log(err);
console.log(response.statusCode);
console.log(response.body);

const data = response.body.data.list.map((item) => EJSON.parse(item)); // EJSON deserialization
consol.log(data);
},
);

updateDocument​

1. API Description​

Feature: update a single document

2. Request URL​

PATCH https://tcb-api.tencentcloudapi.com/api/v2/envs/{envId}/databases/{collectionName}/documents/{docId}?transactionId={transactionId}
URL query parameters​
FieldTypeRequiredDescription
transactionIdStringNoIf present, indicates a document operation inside a transaction

3. Request body​

FieldTypeRequiredDescription
dataStringYesEJSON-serialized replacement document string

4. Response body​

FieldTypeRequiredDescription
statusCodeNumberYesStatus code, 200
bodyObjectYesResponse body, structure shown below
body​
FieldTypeRequiredDescription
requestIdStringNoRequest ID
dataObjectNoResult
codeStringNoError code
messageStringNoError message
data​
FieldTypeRequiredDescription
updatedNumberYesNumber of documents updated successfully
matchedNumberYesNumber of documents matched
upsert_idStringYesPresent on upsert; otherwise null

5. Example​

// Node example
const request = require("request"); // request library, install via npm
const envId = "testEnv"; // environment ID
const collectionName = "testCollection"; // collection name
const docId = "testDocId"; // document ID
const { EJSON } = require("bson"); // bson library, install via npm

request(
{
url: `https://tcb-api.tencentcloudapi.com/api/v2/envs/${envId}/databases/${collectionName}/documents/${docId}`,
method: "PATCH",
headers: {
"X-CloudBase-Authorization": "your authorization",
"X-CloudBase-SessionToken": "your token",
"X-CloudBase-TimeStamp": "the timestamp",
},
body: {
data: EJSON.stringify(
{
name: "new Name", // update the name field
},
{ relaxed: false },
),
},
json: true,
},
(err, response, body) => {
console.log(err);
console.log(response.statusCode);
console.log(response.body.data.updated);
},
);

setDocument​

1. API Description​

Feature: replace a single document. If a document with the given docId already exists, replace it; otherwise insert a new one.

2. Request URL​

PUT https://tcb-api.tencentcloudapi.com/api/v2/envs/{envId}/databases/{collectionName}/documents/{docId}?transactionId={transactionId}
URL query parameters​
FieldTypeRequiredDescription
transactionIdStringNoIf present, indicates a document operation inside a transaction

3. Request body​

FieldTypeRequiredDescription
dataStringYesEJSON-serialized replacement document string

4. Response body​

FieldTypeRequiredDescription
statusCodeNumberYesStatus code, 200
bodyObjectYesResponse body, structure shown below
body​
FieldTypeRequiredDescription
requestIdStringNoRequest ID
dataObjectNoResult
codeStringNoError code
messageStringNoError message
data​
FieldTypeRequiredDescription
updatedNumberYesNumber of documents updated successfully
matchedNumberYesNumber of documents matched
upsert_idStringYesPresent when a new doc is inserted via upsert; otherwise null

5. Example​

// Node example
const request = require("request"); // request library, install via npm
const envId = "testEnv"; // environment ID
const collectionName = "testCollection"; // collection name
const docId = "testDocId"; // document ID
const unExistDocId = "testUnExistDocId"; // non-existent document ID
const { EJSON } = require("bson"); // bson library, install via npm

request(
{
url: `https://tcb-api.tencentcloudapi.com/api/v2/envs/${envId}/databases/${collectionName}/documents/${docId}`, // replace update
// url: `https://tcb-api.tencentcloudapi.com/api/v2/envs/${envId}/databases/${collectionName}/documents/${unExistDocId}`, // insert the current document
method: "PUT",
headers: {
"X-CloudBase-Authorization": "your authorization",
"X-CloudBase-SessionToken": "your token",
"X-CloudBase-TimeStamp": "the timestamp",
},
body: {
data: EJSON.stringify(
{
name: "new Name", // update the name field
},
{ relaxed: false },
),
},
json: true,
},
(err, response, body) => {
console.log(err);
console.log(response.statusCode);
console.log(response.body.data.updated); // present on replacement update
console.log(response.body.data.upsert_id); // present when the document is inserted because it didn't exist
},
);

insertDocument​

1. API Description​

Feature: insert a single document

2. Request URL​

POST https://tcb-api.tencentcloudapi.com/api/v2/envs/{envId}/databases/{collectionName}/documents/{docId}?transactionId={transactionId}
URL query parameters​
FieldTypeRequiredDescription
transactionIdStringNoIf present, indicates a document operation inside a transaction

3. Request body​

FieldTypeRequiredDescription
dataStringYesEJSON-serialized document string

4. Response body​

FieldTypeRequiredDescription
statusCodeNumberYesStatus code, 200
bodyObjectYesResponse body, structure shown below
body​
FieldTypeRequiredDescription
requestIdStringNoRequest ID
dataObjectNoResult
codeStringNoError code
messageStringNoError message
data​
FieldTypeRequiredDescription
insertedIdsArray<String>YesArray of docIds that were inserted successfully

5. Example​

// Node example
const request = require("request"); // request library, install via npm
const envId = "testEnv"; // environment ID
const collectionName = "testCollection"; // collection name
const docId = "testDocId"; // document ID
const { EJSON } = require("bson"); // bson library, install via npm

request(
{
url: `https://tcb-api.tencentcloudapi.com/api/v2/envs/${envId}/databases/${collectionName}/documents/${docId}`,
method: "POST",
headers: {
"X-CloudBase-Authorization": "your authorization",
"X-CloudBase-SessionToken": "your token",
"X-CloudBase-TimeStamp": "the timestamp",
},
body: {
data: EJSON.stringify(
{
name: "luke",
sex: "male",
},
{ relaxed: false },
),
},
json: true,
},
(err, response, body) => {
console.log(err);
console.log(response.statusCode);
console.log(response.body.data.insertedIds);
},
);

deleteDocument​

1. API Description​

Feature: delete a single document

2. Request URL​

DELETE https://tcb-api.tencentcloudapi.com/api/v2/envs/{envId}/databases/{collectionName}/documents/{docId}?transactionId={transactionId}
URL query parameters​
FieldTypeRequiredDescription
transactionIdStringNoIf present, indicates a document operation inside a transaction

3. Request body​

None

4. Response body​

FieldTypeRequiredDescription
statusCodeNumberYesStatus code, 200
bodyObjectYesResponse body, structure shown below
body​
FieldTypeRequiredDescription
requestIdStringNoRequest ID
dataObjectNoResult
codeStringNoError code
messageStringNoError message
data​
FieldTypeRequiredDescription
deletedNumberYesNumber of documents deleted successfully

5. Example​

// Node example
const request = require("request"); // request library, install via npm
const envId = "testEnv"; // environment ID
const collectionName = "testCollection"; // collection name
const docId = "testDocId"; // document ID
const { EJSON } = require("bson"); // bson library, install via npm

request(
{
url: `https://tcb-api.tencentcloudapi.com/api/v2/envs/${envId}/databases/${collectionName}/documents/${docId}`,
method: "DELETE",
headers: {
"X-CloudBase-Authorization": "your authorization",
"X-CloudBase-SessionToken": "your token",
"X-CloudBase-TimeStamp": "the timestamp",
},
json: true,
},
(err, response, body) => {
console.log(err);
console.log(response.statusCode);
console.log(response.body.data.deleted);
},
);

insertDocuments​

1. API Description​

Feature: batch insert documents

2. Request URL​

POST https://tcb-api.tencentcloudapi.com/api/v2/envs/{envId}/databases/{collectionName}/documents?transactionId={transactionId}
URL query parameters​
FieldTypeRequiredDescription
transactionIdStringNoIf present, indicates a document operation inside a transaction

3. Request body​

FieldTypeRequiredDescription
dataArray<String>YesArray of strings; each element is an EJSON-serialized document string

4. Response body​

FieldTypeRequiredDescription
statusCodeNumberYesStatus code, 200
bodyObjectYesResponse body, structure shown below
body​
FieldTypeRequiredDescription
requestIdStringNoRequest ID
dataObjectNoResult
codeStringNoError code
messageStringNoError message
data​
FieldTypeRequiredDescription
insertedIdsArray<String>YesArray of docIds that were inserted successfully

5. Example​

// Node example
const request = require("request"); // request library, install via npm
const envId = "testEnv"; // environment ID
const collectionName = "testCollection"; // collection name
const { EJSON } = require("bson"); // bson library, install via npm

const insertDatas = [
{
name: "luke",
},
{
name: "jimmy",
},
];

request(
{
url: `https://tcb-api.tencentcloudapi.com/api/v2/envs/${envId}/databases/${collectionName}/documents`,
method: "POST",
headers: {
"X-CloudBase-Authorization": "your authorization",
"X-CloudBase-SessionToken": "your token",
"X-CloudBase-TimeStamp": "the timestamp",
},
body: {
data: insertDatas.map((item) =>
EJSON.stringify(item, { relaxed: false }),
),
},
json: true,
},
(err, response, body) => {
console.log(err);
console.log(response.statusCode);
console.log(response.body.data.insertedIds);
},
);

find​

1. API Description​

Feature: batch query documents

2. Request URL​

POST https://tcb-api.tencentcloudapi.com/api/v2/envs/{envId}/databases/{collectionName}/documents:find?limit={limit}&skip={skip}&fields={fields}&sort={sort}&transactionId={transactionId}
URL query parameters​
FieldTypeRequiredDescription
limitStringYesLimit the number of documents returned
skipStringYesNumber of documents to skip
fieldsStringYese.g. {key1: 1, key2: 0} — keep key1, drop key2
sortStringYese.g. {key1: 1, key2: -1} — sort ascending by key1, then descending by key2
transactionIdStringYesIf present, indicates a document operation inside a transaction

3. Request body​

FieldTypeRequiredDescription
queryStringYesEJSON-serialized query string

4. Response body​

FieldTypeRequiredDescription
statusCodeNumberYesStatus code, 200
bodyObjectYesResponse body, structure shown below
body​
FieldTypeRequiredDescription
requestIdStringNoRequest ID
dataObjectNoResult
codeStringNoError code
messageStringNoError message
data​
FieldTypeRequiredDescription
offsetnumberYesOffset
limitnumberYesLimit
listArray<String>YesDocument array; each element is an EJSON-serialized string

5. Example​

// Node example
const request = require("request"); // request library, install via npm
const envId = "testEnv"; // environment ID
const collectionName = "testCollection"; // collection name
const { EJSON } = require("bson"); // bson library, install via npm

request(
{
url: `https://tcb-api.tencentcloudapi.com/api/v2/envs/${envId}/databases/${collectionName}/documents:find`,
method: "POST",
headers: {
"X-CloudBase-Authorization": "your authorization",
"X-CloudBase-SessionToken": "your token",
"X-CloudBase-TimeStamp": "the timestamp",
},
body: {
query: EJSON.stringify(
{
sex: "male",
},
{ relaxed: false },
),
},
json: true,
},
(err, response, body) => {
console.log(err);
console.log(response.statusCode);

const data = response.body.data.list.map((item) => EJSON.parse(item)); // EJSON deserialization
console.log(data);
},
);

count​

1. API Description​

Feature: count the total number of matching documents

2. Request URL​

POST https://tcb-api.tencentcloudapi.com/api/v2/envs/{envId}/databases/{collectionName}/documents:count?transactionId={transactionId}
URL query parameters​
FieldTypeRequiredDescription
transactionIdStringYesIf present, indicates a document operation inside a transaction

3. Request body​

FieldTypeRequiredDescription
queryStringYesEJSON-serialized query string

4. Response body​

FieldTypeRequiredDescription
statusCodeNumberYesStatus code, 200
bodyObjectYesResponse body, structure shown below
body​
FieldTypeRequiredDescription
requestIdStringNoRequest ID
dataObjectNoResult
codeStringNoError code
messageStringNoError message
data​
FieldTypeRequiredDescription
totalnumberYesTotal count

5. Example​

// Node example
const request = require("request"); // request library, install via npm
const envId = "testEnv"; // environment ID
const collectionName = "testCollection"; // collection name
const { EJSON } = require("bson"); // bson library, install via npm

request(
{
url: `https://tcb-api.tencentcloudapi.com/api/v2/envs/${envId}/databases/${collectionName}/documents:count`,
method: "POST",
headers: {
"X-CloudBase-Authorization": "your authorization",
"X-CloudBase-SessionToken": "your token",
"X-CloudBase-TimeStamp": "the timestamp",
},
body: {
query: EJSON.stringify(
{
sex: "male",
},
{ relaxed: false },
),
},
json: true,
},
(err, response, body) => {
console.log(err);
console.log(response.statusCode);
console.log(response.body.data.total);
},
);

updateOne​

1. API Description​

Feature: query in batch and update a single document

2. Request URL​

POST https://tcb-api.tencentcloudapi.com/api/v2/envs/{envId}/databases/{collectionName}/documents:updateOne?transactionId={transactionId}
URL query parameters​
FieldTypeRequiredDescription
transactionIdStringNoIf present, indicates a document operation inside a transaction

3. Request body​

FieldTypeRequiredDescription
queryStringYesEJSON-serialized query string
dataStringYesEJSON-serialized update string

4. Response body​

FieldTypeRequiredDescription
statusCodeNumberYesStatus code, 200
bodyObjectYesResponse body, structure shown below
body​
FieldTypeRequiredDescription
requestIdStringNoRequest ID
dataObjectNoResult
codeStringNoError code
messageStringNoError message
data​
FieldTypeRequiredDescription
updatedNumberYesNumber of documents updated successfully
matchedNumberYesNumber of documents matched
upsert_idStringYesPresent when a new doc is inserted via upsert; otherwise null

5. Example​

// Node example
const request = require("request"); // request library, install via npm
const envId = "testEnv"; // environment ID
const collectionName = "testCollection"; // collection name
const { EJSON } = require("bson"); // bson library, install via npm

request(
{
url: `https://tcb-api.tencentcloudapi.com/api/v2/envs/${envId}/databases/${collectionName}/documents:updateOne`,
method: "POST",
headers: {
"X-CloudBase-Authorization": "your authorization",
"X-CloudBase-SessionToken": "your token",
"X-CloudBase-TimeStamp": "the timestamp",
},
body: {
query: EJSON.stringify(
{
sex: "male",
},
{ relaxed: false },
),
data: EJSON.stringify(
{
name: "newName",
},
{ relaxed: false },
),
},
json: true,
},
(err, response, body) => {
console.log(err);
console.log(response.statusCode);
console.log(response.body.data.updated);
},
);

updateMany​

1. API Description​

Feature: query in batch and update multiple documents

2. Request URL​

POST https://tcb-api.tencentcloudapi.com/api/v2/envs/{envId}/databases/{collectionName}/documents:updateMany?transactionId={transactionId}
URL query parameters​
FieldTypeRequiredDescription
transactionIdStringNoIf present, indicates a document operation inside a transaction

3. Request body​

FieldTypeRequiredDescription
queryStringYesEJSON-serialized query string
dataStringYesEJSON-serialized update string

4. Response body​

FieldTypeRequiredDescription
statusCodeNumberYesStatus code, 200
bodyObjectYesResponse body, structure shown below
body​
FieldTypeRequiredDescription
requestIdStringNoRequest ID
dataObjectNoResult
codeStringNoError code
messageStringNoError message
data​
FieldTypeRequiredDescription
updatedNumberYesNumber of documents updated successfully
matchedNumberYesNumber of documents matched
upsert_idStringYesPresent when a new doc is inserted via upsert; otherwise null

5. Example​

// Node example
const request = require("request"); // request library, install via npm
const envId = "testEnv"; // environment ID
const collectionName = "testCollection"; // collection name
const { EJSON } = require("bson"); // bson library, install via npm

request(
{
url: `https://tcb-api.tencentcloudapi.com/api/v2/envs/${envId}/databases/${collectionName}/documents:updateMany`,
method: "POST",
headers: {
"X-CloudBase-Authorization": "your authorization",
"X-CloudBase-SessionToken": "your token",
"X-CloudBase-TimeStamp": "the timestamp",
},
body: {
query: EJSON.stringify(
{
sex: "male",
},
{ relaxed: false },
),
data: EJSON.stringify(
{
name: "newName",
},
{ relaxed: false },
),
},
json: true,
},
(err, response, body) => {
console.log(err);
console.log(response.statusCode);
console.log(response.body.data.updated);
},
);

deleteOne​

1. API Description​

Feature: query in batch and delete a single document

2. Request URL​

POST https://tcb-api.tencentcloudapi.com/api/v2/envs/{envId}/databases/{collectionName}/documents:deleteOne?transactionId={transactionId}
URL query parameters​
FieldTypeRequiredDescription
transactionIdStringNoIf present, indicates a document operation inside a transaction

3. Request body​

FieldTypeRequiredDescription
queryStringYesEJSON-serialized query string

4. Response body​

FieldTypeRequiredDescription
statusCodeNumberYesStatus code, 200
bodyObjectYesResponse body, structure shown below
body​
FieldTypeRequiredDescription
requestIdStringNoRequest ID
dataObjectNoResult
codeStringNoError code
messageStringNoError message
data​
FieldTypeRequiredDescription
deletedNumberYesNumber of documents deleted successfully

5. Example​

// Node example
const request = require("request"); // request library, install via npm
const envId = "testEnv"; // environment ID
const collectionName = "testCollection"; // collection name
const { EJSON } = require("bson"); // bson library, install via npm

request(
{
url: `https://tcb-api.tencentcloudapi.com/api/v2/envs/${envId}/databases/${collectionName}/documents:deleteOne`,
method: "POST",
headers: {
"X-CloudBase-Authorization": "your authorization",
"X-CloudBase-SessionToken": "your token",
"X-CloudBase-TimeStamp": "the timestamp",
},
body: {
query: EJSON.stringify(
{
sex: "male",
},
{ relaxed: false },
),
},
json: true,
},
(err, response, body) => {
console.log(err);
console.log(response.statusCode);
console.log(response.body.data.deleted);
},
);

deleteMany​

1. API Description​

Feature: query in batch and delete multiple documents

2. Request URL​

POST https://tcb-api.tencentcloudapi.com/api/v2/envs/{envId}/databases/{collectionName}/documents:deleteMany?transactionId={transactionId}
URL query parameters​
FieldTypeRequiredDescription
transactionIdStringNoIf present, indicates a document operation inside a transaction

3. Request body​

FieldTypeRequiredDescription
queryStringYesEJSON-serialized query string

4. Response body​

FieldTypeRequiredDescription
statusCodeNumberYesStatus code, 200
bodyObjectYesResponse body, structure shown below
body​
FieldTypeRequiredDescription
requestIdStringNoRequest ID
dataObjectNoResult
codeStringNoError code
messageStringNoError message
data​
FieldTypeRequiredDescription
deletedNumberYesNumber of documents deleted successfully

5. Example​

// Node example
const request = require("request"); // request library, install via npm
const envId = "testEnv"; // environment ID
const collectionName = "testCollection"; // collection name
const { EJSON } = require("bson"); // bson library, install via npm

request(
{
url: `https://tcb-api.tencentcloudapi.com/api/v2/envs/${envId}/databases/${collectionName}/documents:deleteMany`,
method: "POST",
headers: {
"X-CloudBase-Authorization": "your authorization",
"X-CloudBase-SessionToken": "your token",
"X-CloudBase-TimeStamp": "the timestamp",
},
body: {
query: EJSON.stringify(
{
sex: "male",
},
{ relaxed: false },
),
},
json: true,
},
(err, response, body) => {
console.log(err);
console.log(response.statusCode);
console.log(response.body.data.deleted);
},
);

Query Command​

$eq​

Matches values that equal the given value.

Syntax: { <field>: { $eq: <value> } }

// Node example
const request = require("request"); // request library, install via npm
const envId = "testEnv"; // environment ID
const collectionName = "testCollection"; // collection name
const { EJSON } = require("bson"); // bson library, install via npm

request(
{
url: `https://tcb-api.tencentcloudapi.com/api/v2/envs/${envId}/databases/${collectionName}/documents:find`,
method: "POST",
headers: {
"X-CloudBase-Authorization": "your authorization",
"X-CloudBase-SessionToken": "your token",
"X-CloudBase-TimeStamp": "the timestamp",
},
body: {
query: EJSON.stringify(
{
name: {
$eq: "luke", // find documents where the name field equals "luke"
},
},
{ relaxed: false },
),
},
json: true,
},
(err, response, body) => {
console.log(err);
console.log(response.statusCode);

const data = response.body.data.list.map((item) => EJSON.parse(item)); // EJSON deserialization
console.log(data);
},
);

$ne​

Matches values that do not equal the given value.

Syntax: { <field>: { $ne: <value> } }

// Node example
const request = require("request"); // request library, install via npm
const envId = "testEnv"; // environment ID
const collectionName = "testCollection"; // collection name
const { EJSON } = require("bson"); // bson library, install via npm

request(
{
url: `https://tcb-api.tencentcloudapi.com/api/v2/envs/${envId}/databases/${collectionName}/documents:find`,
method: "POST",
headers: {
"X-CloudBase-Authorization": "your authorization",
"X-CloudBase-SessionToken": "your token",
"X-CloudBase-TimeStamp": "the timestamp",
},
body: {
query: EJSON.stringify(
{
name: {
$ne: "luke", // find documents where the name field is not "luke"
},
},
{ relaxed: false },
),
},
json: true,
},
(err, response, body) => {
console.log(err);
console.log(response.statusCode);

const data = response.body.data.list.map((item) => EJSON.parse(item)); // EJSON deserialization
console.log(data);
},
);

$gt​

Matches values greater than the given value.

Syntax: {field: {$gt: value} }

// Node example
const request = require("request"); // request library, install via npm
const envId = "testEnv"; // environment ID
const collectionName = "testCollection"; // collection name
const { EJSON } = require("bson"); // bson library, install via npm

request(
{
url: `https://tcb-api.tencentcloudapi.com/api/v2/envs/${envId}/databases/${collectionName}/documents:find`,
method: "POST",
headers: {
"X-CloudBase-Authorization": "your authorization",
"X-CloudBase-SessionToken": "your token",
"X-CloudBase-TimeStamp": "the timestamp",
},
body: {
query: EJSON.stringify(
{
age: {
$gt: 18, // find documents where the age field is greater than 18
},
},
{ relaxed: false },
),
},
json: true,
},
(err, response, body) => {
console.log(err);
console.log(response.statusCode);

const data = response.body.data.list.map((item) => EJSON.parse(item)); // EJSON deserialization
console.log(data);
},
);

$gte​

Matches values greater than or equal to the given value.

Syntax: {field: {$gte: value} }

// Node example
const request = require("request"); // request library, install via npm
const envId = "testEnv"; // environment ID
const collectionName = "testCollection"; // collection name
const { EJSON } = require("bson"); // bson library, install via npm

request(
{
url: `https://tcb-api.tencentcloudapi.com/api/v2/envs/${envId}/databases/${collectionName}/documents:find`,
method: "POST",
headers: {
"X-CloudBase-Authorization": "your authorization",
"X-CloudBase-SessionToken": "your token",
"X-CloudBase-TimeStamp": "the timestamp",
},
body: {
query: EJSON.stringify(
{
age: {
$gte: 18, // find documents where the age field is >= 18
},
},
{ relaxed: false },
),
},
json: true,
},
(err, response, body) => {
console.log(err);
console.log(response.statusCode);

const data = response.body.data.list.map((item) => EJSON.parse(item)); // EJSON deserialization
console.log(data);
},
);

$lt​

Matches values less than the given value.

Syntax: {field: {$lt: value} }

// Node example
const request = require("request"); // request library, install via npm
const envId = "testEnv"; // environment ID
const collectionName = "testCollection"; // collection name
const { EJSON } = require("bson"); // bson library, install via npm

request(
{
url: `https://tcb-api.tencentcloudapi.com/api/v2/envs/${envId}/databases/${collectionName}/documents:find`,
method: "POST",
headers: {
"X-CloudBase-Authorization": "your authorization",
"X-CloudBase-SessionToken": "your token",
"X-CloudBase-TimeStamp": "the timestamp",
},
body: {
query: EJSON.stringify(
{
age: {
$lt: 18, // find documents where the age field is less than 18
},
},
{ relaxed: false },
),
},
json: true,
},
(err, response, body) => {
console.log(err);
console.log(response.statusCode);

const data = response.body.data.list.map((item) => EJSON.parse(item)); // EJSON deserialization
console.log(data);
},
);

$lte​

Matches values less than or equal to the given value.

Syntax: {field: {$lte: value} }

// Node example
const request = require("request"); // request library, install via npm
const envId = "testEnv"; // environment ID
const collectionName = "testCollection"; // collection name
const { EJSON } = require("bson"); // bson library, install via npm

request(
{
url: `https://tcb-api.tencentcloudapi.com/api/v2/envs/${envId}/databases/${collectionName}/documents:find`,
method: "POST",
headers: {
"X-CloudBase-Authorization": "your authorization",
"X-CloudBase-SessionToken": "your token",
"X-CloudBase-TimeStamp": "the timestamp",
},
body: {
query: EJSON.stringify(
{
age: {
$lte: 18, // find documents where the age field is <= 18
},
},
{ relaxed: false },
),
},
json: true,
},
(err, response, body) => {
console.log(err);
console.log(response.statusCode);

const data = response.body.data.list.map((item) => EJSON.parse(item)); // EJSON deserialization
console.log(data);
},
);

$in​

Matches any of the values in the given array.

Syntax: { field: { $in: [<value1>, <value2>, ... <valueN> ] } }

// Node example
const request = require("request"); // request library, install via npm
const envId = "testEnv"; // environment ID
const collectionName = "testCollection"; // collection name
const { EJSON } = require("bson"); // bson library, install via npm

request(
{
url: `https://tcb-api.tencentcloudapi.com/api/v2/envs/${envId}/databases/${collectionName}/documents:find`,
method: "POST",
headers: {
"X-CloudBase-Authorization": "your authorization",
"X-CloudBase-SessionToken": "your token",
"X-CloudBase-TimeStamp": "the timestamp",
},
body: {
query: EJSON.stringify(
{
category: {
$in: ["science", "computer"], // find documents where the category field is one of science or computer
},
},
{ relaxed: false },
),
},
json: true,
},
(err, response, body) => {
console.log(err);
console.log(response.statusCode);

const data = response.body.data.list.map((item) => EJSON.parse(item)); // EJSON deserialization
console.log(data);
},
);

$nin​

Matches none of the values in the given array.

Syntax: { field: { $nin: [<value1>, <value2>, ... <valueN> ] } }

// Node example
const request = require("request"); // request library, install via npm
const envId = "testEnv"; // environment ID
const collectionName = "testCollection"; // collection name
const { EJSON } = require("bson"); // bson library, install via npm

request(
{
url: `https://tcb-api.tencentcloudapi.com/api/v2/envs/${envId}/databases/${collectionName}/documents:find`,
method: "POST",
headers: {
"X-CloudBase-Authorization": "your authorization",
"X-CloudBase-SessionToken": "your token",
"X-CloudBase-TimeStamp": "the timestamp",
},
body: {
query: EJSON.stringify(
{
category: {
$nin: ["science", "computer"], // find documents where the category field is not one of science or computer
},
},
{ relaxed: false },
),
},
json: true,
},
(err, response, body) => {
console.log(err);
console.log(response.statusCode);

const data = response.body.data.list.map((item) => EJSON.parse(item)); // EJSON deserialization
console.log(data);
},
);

$and​

All of the given conditions must be satisfied.

Syntax: { $and: [ { <expression1> }, { <expression2> } , ... , { <expressionN> } ] }

// Node example
const request = require("request"); // request library, install via npm
const envId = "testEnv"; // environment ID
const collectionName = "testCollection"; // collection name
const { EJSON } = require("bson"); // bson library, install via npm

request(
{
url: `https://tcb-api.tencentcloudapi.com/api/v2/envs/${envId}/databases/${collectionName}/documents:find`,
method: "POST",
headers: {
"X-CloudBase-Authorization": "your authorization",
"X-CloudBase-SessionToken": "your token",
"X-CloudBase-TimeStamp": "the timestamp",
},
body: {
query: EJSON.stringify(
{
$and: [
{
price: {
$lt: 200,
},
},
{
price: {
$gt: 100,
},
},
], // find documents where price > 100 AND price < 200
},
{ relaxed: false },
),
},
json: true,
},
(err, response, body) => {
console.log(err);
console.log(response.statusCode);

const data = response.body.data.list.map((item) => EJSON.parse(item)); // EJSON deserialization
console.log(data);
},
);

$or​

At least one of the given conditions must be satisfied.

Syntax: { $or: [ { <expression1> }, { <expression2> }, ... , { <expressionN> } ] }

// Node example
const request = require("request"); // request library, install via npm
const envId = "testEnv"; // environment ID
const collectionName = "testCollection"; // collection name
const { EJSON } = require("bson"); // bson library, install via npm

request(
{
url: `https://tcb-api.tencentcloudapi.com/api/v2/envs/${envId}/databases/${collectionName}/documents:find`,
method: "POST",
headers: {
"X-CloudBase-Authorization": "your authorization",
"X-CloudBase-SessionToken": "your token",
"X-CloudBase-TimeStamp": "the timestamp",
},
body: {
query: EJSON.stringify(
{
$or: [
{
price: {
$lt: 100,
},
},
{
price: {
$gt: 200,
},
},
], // find documents where price < 100 OR price > 200
},
{ relaxed: false },
),
},
json: true,
},
(err, response, body) => {
console.log(err);
console.log(response.statusCode);

const data = response.body.data.list.map((item) => EJSON.parse(item)); // EJSON deserialization
console.log(data);
},
);

$nor​

Logical "NOR" — none of the given conditions may be satisfied.

Syntax: { $nor: [ { <expression1> }, { <expression2> }, ... { <expressionN> } ] }

// Node example
const request = require("request"); // request library, install via npm
const envId = "testEnv"; // environment ID
const collectionName = "testCollection"; // collection name
const { EJSON } = require("bson") // bson library, install via npm

request(
{
url: `https://tcb-api.tencentcloudapi.com/api/v2/envs/${envId}/databases/${collectionName}/documents:find`,
method: "POST",
headers: {
"X-CloudBase-Authorization": "your authorization",
"X-CloudBase-SessionToken": "your token",
"X-CloudBase-TimeStamp": "the timestamp",

,
},
body: {
query: EJSON.stringify({
$nor: [{
price: {
$lt: 100
}
}, {
price: {
$gt: 200
}
}] // find documents where price is neither < 100 nor > 200
}, {relaxed: false})
}
json: true
},
(err, response, body) => {
console.log(err)
console.log(response.statusCode)

const data = response.body.data.list.map(item => EJSON.parse(item)) // EJSON deserialization
console.log(data)
}
);

Update Command​

$set​

Sets a field to the specified value.

Syntax: { $set: { <field1>: <value1>, ... } }

// Node example
const request = require("request"); // request library, install via npm
const envId = "testEnv"; // environment ID
const collectionName = "testCollection"; // collection name
const { EJSON } = require("bson") // bson library, install via npm

request(
{
url: `https://tcb-api.tencentcloudapi.com/api/v2/envs/${envId}/databases/${collectionName}/documents:updateOne`,
method: "POST",
headers: {
"X-CloudBase-Authorization": "your authorization",
"X-CloudBase-SessionToken": "your token",
"X-CloudBase-TimeStamp": "the timestamp",

,
},
body: {
query: EJSON.stringify({
title: 'picture'
}, {relaxed: false}),
data: EJSON.stringify({
$set: {
style: {
color: "red",
size: "large"
}
}
}, {relaxed: false}) // find documents where title is "picture" and set the first matched document's style to {color:"red", size: "large"}
}
json: true
},
(err, response, body) => {
console.log(err)
console.log(response.statusCode)
console.log(response.body.data.updated)
}
);

$inc​

Atomically increments a field by the given amount.

Syntax: { $inc: { <field1>: <amount1>, <field2>: <amount2>, ... } }

// Node example
const request = require("request"); // request library, install via npm
const envId = "testEnv"; // environment ID
const collectionName = "testCollection"; // collection name
const { EJSON } = require("bson"); // bson library, install via npm

request(
{
url: `https://tcb-api.tencentcloudapi.com/api/v2/envs/${envId}/databases/${collectionName}/documents:updateOne`,
method: "POST",
headers: {
"X-CloudBase-Authorization": "your authorization",
"X-CloudBase-SessionToken": "your token",
"X-CloudBase-TimeStamp": "the timestamp",
},
body: {
query: EJSON.stringify(
{
category: "computer",
},
{ relaxed: false },
),
data: EJSON.stringify(
{
$inc: {
price: 1000,
},
},
{ relaxed: false },
), // find documents where category is "computer" and increment the first matched document's price by 1000
},
json: true,
},
(err, response, body) => {
console.log(err);
console.log(response.statusCode);
console.log(response.body.data.updated);
},
);

$mul​

Multiplies a field by the given amount.

Syntax: { $mul: { <field1>: <number1>, ... } }

// Node example
const request = require("request"); // request library, install via npm
const envId = "testEnv"; // environment ID
const collectionName = "testCollection"; // collection name
const { EJSON } = require("bson") // bson library, install via npm

request(
{
url: `https://tcb-api.tencentcloudapi.com/api/v2/envs/${envId}/databases/${collectionName}/documents:updateOne`,
method: "POST",
headers: {
"X-CloudBase-Authorization": "your authorization",
"X-CloudBase-SessionToken": "your token",
"X-CloudBase-TimeStamp": "the timestamp",

,
},
body: {
query: EJSON.stringify({
category: 'computer'
}, {relaxed: false}),
data: EJSON.stringify({
$mul: {
price: 1.5
}
}, {relaxed: false}) // find documents where category is "computer" and multiply the first matched document's price by 1.5
}
json: true
},
(err, response, body) => {
console.log(err)
console.log(response.statusCode)
console.log(response.body.data.updated)
}
);

$unset​

Removes the specified field.

Syntax: { $unset: { <field1>: "", ... } }

// Node example
const request = require("request"); // request library, install via npm
const envId = "testEnv"; // environment ID
const collectionName = "testCollection"; // collection name
const { EJSON } = require("bson"); // bson library, install via npm

request(
{
url: `https://tcb-api.tencentcloudapi.com/api/v2/envs/${envId}/databases/${collectionName}/documents:updateOne`,
method: "POST",
headers: {
"X-CloudBase-Authorization": "your authorization",
"X-CloudBase-SessionToken": "your token",
"X-CloudBase-TimeStamp": "the timestamp",
},
body: {
query: EJSON.stringify(
{
category: "computer",
},
{ relaxed: false },
),
data: EJSON.stringify(
{
$unset: {
rating: "",
},
},
{ relaxed: false },
), // find documents where category is "computer" and remove the rating field from the first matched document
},
json: true,
},
(err, response, body) => {
console.log(err);
console.log(response.statusCode);
console.log(response.body.data.updated);
},
);

$push​

Appends elements to the end of an array; accepts a single element or an array.

Syntax: { $push: { <field1>: <value1>, ... } }

// Node example
const request = require("request"); // request library, install via npm
const envId = "testEnv"; // environment ID
const collectionName = "testCollection"; // collection name
const { EJSON } = require("bson"); // bson library, install via npm

request(
{
url: `https://tcb-api.tencentcloudapi.com/api/v2/envs/${envId}/databases/${collectionName}/documents:updateOne`,
method: "POST",
headers: {
"X-CloudBase-Authorization": "your authorization",
"X-CloudBase-SessionToken": "your token",
"X-CloudBase-TimeStamp": "the timestamp",
},
body: {
query: EJSON.stringify(
{
category: "computer",
},
{ relaxed: false },
),
data: EJSON.stringify(
{
$push: {
tags: {
$each: ["tag1", "tag2", "tag3"],
},
},
},
{ relaxed: false },
), // find documents where category is "computer" and append tag1, tag2, tag3 to the tags field of the first matched document
},
json: true,
},
(err, response, body) => {
console.log(err);
console.log(response.statusCode);
console.log(response.body.data.updated);
},
);

$pop​

Removes the last element from an array.

Syntax: { $pop: { <field>: <-1 | 1>, ... } }

1 removes the last element from the array; -1 removes the first element.

// Node example
const request = require("request"); // request library, install via npm
const envId = "testEnv"; // environment ID
const collectionName = "testCollection"; // collection name
const { EJSON } = require("bson"); // bson library, install via npm

request(
{
url: `https://tcb-api.tencentcloudapi.com/api/v2/envs/${envId}/databases/${collectionName}/documents:updateOne`,
method: "POST",
headers: {
"X-CloudBase-Authorization": "your authorization",
"X-CloudBase-SessionToken": "your token",
"X-CloudBase-TimeStamp": "the timestamp",
},
body: {
query: EJSON.stringify(
{
category: "computer",
},
{ relaxed: false },
),
data: EJSON.stringify(
{
$pop: {
tags: 1,
},
},
{ relaxed: false },
), // find documents where category is "computer" and remove the first element from the tags field of the first matched document
},
json: true,
},
(err, response, body) => {
console.log(err);
console.log(response.statusCode);
console.log(response.body.data.updated);
},
);

RunCommand​

1. API Description​

Feature: run a database command

2. Request URL​

POST https://tcb-api.tencentcloudapi.com/api/v2/envs/${envId}/databases/-/documents:runCommand
{
// request body
}

3. Example request​

// Node example
const request = require("request");
const envId = "testEnv"; // environment ID
const { EJSON } = require("bson")

request(
{
url: `https://tcb-api.tencentcloudapi.com/api/v2/envs/${envId}/databases/-/documents:runCommand`,
method: "POST",
headers: {
"X-CloudBase-Authorization": "your authorization",
"X-CloudBase-SessionToken": "your token",
"X-CloudBase-TimeStamp": "the timestamp",
},
body: {
// Supports aggregate, distinct, find, count and other commands.
// Syntax reference:
// https://www.mongodb.com/docs/manual/reference/method/db.runCommand/
// https://www.mongodb.com/docs/manual/reference/command/#user-commands

aggregate: "<collection>" || 1
// other aggregate parameters

distinct: "<collection>"
// other distinct parameters

find: "<string>",
// other find parameters

count: "<collection or view>",
// other count parameters
}
json: true
},
(err, response, body) => {
console.log(err)
console.log(response.statusCode)
console.log(response.body.data.updated)
}
);

Transaction​

startTransaction​

1. API Description​

Feature: start a transaction

2. Request URL​

POST https://tcb-api.tencentcloudapi.com/api/v2/envs/{envId}/databases/{collectionName}/transaction

3. Request body​

None

4. Response body​

FieldTypeRequiredDescription
statusCodeNumberYesStatus code, 200
bodyObjectYesResponse body, structure shown below
body​
FieldTypeRequiredDescription
requestIdStringNoRequest ID
transactionIdStringNoTransaction ID
codeStringNoError code
messageStringNoError message

5. Example​

// Node example
const request = require("request"); // request library, install via npm
const envId = "testEnv"; // environment ID
const collectionName = "testCollection"; // collection name
const docId = "testDocId"; // document ID
const { EJSON } = require("bson"); // bson library, install via npm

request(
{
url: `https://tcb-api.tencentcloudapi.com/api/v2/envs/${envId}/databases/${collectionName}/transaction`,
method: "POST",
headers: {
"X-CloudBase-Authorization": "your authorization",
"X-CloudBase-SessionToken": "your token",
"X-CloudBase-TimeStamp": "the timestamp",
},
body: {},
json: true,
},
(err, response, body) => {
console.log(err);
console.log(response.statusCode);
console.log(response.body.transactionId);
},
);

commitTransaction​

1. API Description​

Feature: commit a transaction

2. Request URL​

POST https://tcb-api.tencentcloudapi.com/api/v2/envs/{envId}/databases/{collectionName}/transaction/${transactionId}:commit

3. Request body​

None

4. Response body​

FieldTypeRequiredDescription
statusCodeNumberYesStatus code, 200
bodyObjectYesResponse body, structure shown below
body​
FieldTypeRequiredDescription
requestIdStringNoRequest ID
codeStringNoError code
messageStringNoError message

5. Example​

// Node example
const request = require("request"); // request library, install via npm
const envId = "testEnv"; // environment ID
const collectionName = "testCollection"; // collection name
const docId = "testDocId"; // document ID
const { EJSON } = require("bson"); // bson library, install via npm

async function test() {
// 1. Start a transaction
const startTransactionRes = await new Promise((resolve, reject) => {
request(
{
url: `https://tcb-api.tencentcloudapi.com/api/v2/envs/${envId}/databases/${collectionName}/transaction`,
method: "POST",
headers: {
"X-CloudBase-Authorization": "your authorization",
"X-CloudBase-SessionToken": "your token",
"X-CloudBase-TimeStamp": "the timestamp",
},
body: {},
json: true,
},
(err, response, body) => {
if (err) {
reject(err);
}
resolve(response.body);
// console.log(err)
// console.log(response.statusCode)
// console.log(response.body.transactionId)
},
);
});

// 2. Commit the transaction

const commitTransactionRes = await new Promise((resolve, reject) => {
request(
{
url: `https://tcb-api.tencentcloudapi.com/api/v2/envs/${envId}/databases/${collectionName}/transaction/${startTransactionRes.transactionId}:commit`,
method: "POST",
headers: {
"X-CloudBase-Authorization": "your authorization",
"X-CloudBase-SessionToken": "your token",
"X-CloudBase-TimeStamp": "the timestamp",
},
body: {},
json: true,
},
(err, response, body) => {
if (err) {
reject(err);
}
resolve(response.body);
// console.log(err)
// console.log(response.statusCode)
// console.log(response.body.transactionId)
},
);
});

console.log(commitTransactionRes);
}

test();

rollbackTransaction​

1. API Description​

Feature: roll back a transaction

2. Request URL​

POST https://tcb-api.tencentcloudapi.com/api/v2/envs/{envId}/databases/{collectionName}/transaction/${transactionId}:rollback

3. Request body​

None

4. Response body​

FieldTypeRequiredDescription
statusCodeNumberYesStatus code, 200
bodyObjectYesResponse body, structure shown below
body​
FieldTypeRequiredDescription
requestIdStringNoRequest ID
codeStringNoError code
messageStringNoError message

5. Example​

// Node example
const request = require("request"); // request library, install via npm
const envId = "testEnv"; // environment ID
const collectionName = "testCollection"; // collection name
const docId = "testDocId"; // document ID
const { EJSON } = require("bson"); // bson library, install via npm

async function test() {
// 1. Start a transaction
const startTransactionRes = await new Promise((resolve, reject) => {
request(
{
url: `https://tcb-api.tencentcloudapi.com/api/v2/envs/${envId}/databases/${collectionName}/transaction`,
method: "POST",
headers: {
"X-CloudBase-Authorization": "your authorization",
"X-CloudBase-SessionToken": "your token",
"X-CloudBase-TimeStamp": "the timestamp",
},
body: {},
json: true,
},
(err, response, body) => {
if (err) {
reject(err);
}
resolve(response.body);
// console.log(err)
// console.log(response.statusCode)
// console.log(response.body.transactionId)
},
);
});

// 2. Roll back the transaction

const rollbackTransactionRes = await new Promise((resolve, reject) => {
request(
{
url: `https://tcb-api.tencentcloudapi.com/api/v2/envs/${envId}/databases/${collectionName}/transaction/${startTransactionRes.transactionId}:rollback`,
method: "POST",
headers: {
"X-CloudBase-Authorization": "your authorization",
"X-CloudBase-SessionToken": "your token",
"X-CloudBase-TimeStamp": "the timestamp",
},
body: {},
json: true,
},
(err, response, body) => {
if (err) {
reject(err);
}
resolve(response.body);
// console.log(err)
// console.log(response.statusCode)
// console.log(response.body.transactionId)
},
);
});

console.log(rollbackTransactionRes);
}

test();

CRUD in transaction​

1. Example​

// Node example
const request = require("request"); // request library, install via npm
const envId = "testEnv"; // environment ID
const collectionName = "testCollection"; // collection name
const docId = "testDocId"; // document ID
const { EJSON } = require("bson"); // bson library, install via npm

async function test() {
// 1. Start a transaction
const startTransactionRes = await new Promise((resolve, reject) => {
request(
{
url: `https://tcb-api.tencentcloudapi.com/api/v2/envs/${envId}/databases/${collectionName}/transaction`,
method: "POST",
headers: {
"X-CloudBase-Authorization": "your authorization",
"X-CloudBase-SessionToken": "your token",
"X-CloudBase-TimeStamp": "the timestamp",
},
body: {},
json: true,
},
(err, response, body) => {
if (err) {
reject(err);
}
resolve(response.body);
// console.log(err)
// console.log(response.statusCode)
// console.log(response.body.transactionId)
},
);
});

// 2. Insert a document within the transaction
const insertDocId = "lukeTest";
const insertTransactionRes = await new Promise((resolve, reject) => {
request(
{
url: `https://tcb-api.tencentcloudapi.com/api/v2/envs/${envId}/databases/${collectionName}/documents/${insertDocId}?transactionId=${startTransactionRes.transactionId}`,
method: "POST",
headers: {
"X-CloudBase-Authorization": "your authorization",
"X-CloudBase-SessionToken": "your token",
"X-CloudBase-TimeStamp": "the timestamp",
},
body: {
data: EJSON.stringify({
name: "luke",
}),
},
json: true,
},
(err, response, body) => {
if (err) {
reject(err);
}
resolve(response.body);
},
);
});

console.log(insertTransactionRes);

// 3. Update a document within the transaction
const updateTransactionRes = await new Promise((resolve, reject) => {
request(
{
url: `https://tcb-api.tencentcloudapi.com/api/v2/envs/${envId}/databases/${collectionName}/documents/${insertDocId}?transactionId=${startTransactionRes.transactionId}`,
method: "PATCH",
headers: {
"X-CloudBase-Authorization": "your authorization",
"X-CloudBase-SessionToken": "your token",
"X-CloudBase-TimeStamp": "the timestamp",
},
body: {
query: EJSON.stringify({
name: "luke",
}),
data: EJSON.stringify({
name: "jimmy",
}),
},
json: true,
},
(err, response, body) => {
if (err) {
reject(err);
}
resolve(response.body);
},
);
});

console.log(updateTransactionRes);

// 4. Query a document within the transaction

const queryTransactionRes = await new Promise((resolve, reject) => {
request(
{
url: `https://tcb-api.tencentcloudapi.com/api/v2/envs/${envId}/databases/${collectionName}/documents/${insertDocId}?transactionId=${startTransactionRes.transactionId}`,
method: "GET",
headers: {
"X-CloudBase-Authorization": "your authorization",
"X-CloudBase-SessionToken": "your token",
"X-CloudBase-TimeStamp": "the timestamp",
},
json: true,
},
(err, response, body) => {
if (err) {
reject(err);
}
resolve(response.body);
},
);
});

console.log(queryTransactionRes);

// 5. Delete a document within the transaction

const deleteTransactionRes = await new Promise((resolve, reject) => {
request(
{
url: `https://tcb-api.tencentcloudapi.com/api/v2/envs/${envId}/databases/${collectionName}/documents/${insertDocId}?transactionId=${startTransactionRes.transactionId}`,
method: "DELETE",
headers: {
"X-CloudBase-Authorization": "your authorization",
"X-CloudBase-SessionToken": "your token",
"X-CloudBase-TimeStamp": "the timestamp",
},
json: true,
},
(err, response, body) => {
if (err) {
reject(err);
}
resolve(response.body);
},
);
});

console.log(deleteTransactionRes);

// 6. Roll back the transaction

const commitTransactionRes = await new Promise((resolve, reject) => {
request(
{
url: `https://tcb-api.tencentcloudapi.com/api/v2/envs/${envId}/databases/${collectionName}/transaction/${startTransactionRes.transactionId}:rollback`,
method: "POST",
headers: {
"X-CloudBase-Authorization": "your authorization",
"X-CloudBase-SessionToken": "your token",
"X-CloudBase-TimeStamp": "the timestamp",
},
body: {},
json: true,
},
(err, response, body) => {
if (err) {
reject(err);
}
resolve(response.body);
// console.log(err)
// console.log(response.statusCode)
// console.log(response.body.transactionId)
},
);
});

console.log(commitTransactionRes);
}

test();