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();