Giao dịch trong nodejs

Giao dịch là một tập hợp các hoạt động của Kho dữ liệu trên một hoặc nhiều thực thể. Mỗi giao dịch được đảm bảo là nguyên tử, có nghĩa là các giao dịch không bao giờ được áp dụng một phần. Tất cả các thao tác trong giao dịch đều được áp dụng hoặc không thao tác nào được áp dụng

Di sản

Yêu cầu kho dữ liệu > Giao dịch

Bưu kiện

@google-cloud/kho dữ liệu

Ví dụ

const {Datastore} = require('@google-cloud/datastore');
const datastore = new Datastore();
const transaction = datastore.transaction();

nhà xây dựng

(hàm tạo)(kho dữ liệu, tùy chọn)

constructor(datastore: Datastore, options?: TransactionOptions);

Xây dựng một thể hiện mới của lớp

skipCommit?: boolean;
6

Tham sốTênMô tảdatastore
skipCommit?: boolean;
7
tùy chọn
skipCommit?: boolean;
8

Thuộc tính

Thực thể đã sửa đổi_

modifiedEntities_: ModifiedEntities;

Mô tả giá trị thuộc tính Thực thể được sửa đổi

không gian tên

namespace?: string;

Mô tả giá trị thuộc tính chuỗi

chỉ đọc

readOnly: boolean;

Mô tả giá trị thuộc tính boolean

yêu cầu

________số 8

Mô tả loại giá trị thuộc tính Chức năng

bỏ quaCam kết

skipCommit?: boolean;

Mô tả giá trị thuộc tính boolean

phương pháp

cam kết (gaxOptions)

constructor(datastore: Datastore, options?: TransactionOptions);
0

Cam kết giao dịch từ xa và hoàn thiện phiên bản giao dịch hiện tại

Nếu yêu cầu cam kết không thành công, chúng tôi sẽ tự động khôi phục giao dịch

ParameterNameDescriptiongaxOptions
skipCommit?: boolean;
9

Yêu cầu tùy chọn cấu hình, được nêu tại đây. https. //googleapis. github. io/gax-nodejs/toàn cầu. html#CallOptions.

ReturnsTypeDescription Lời hứa < Phản hồi cam kết >Ví dụ
constructor(datastore: Datastore, options?: TransactionOptions);
2

cam kết (gọi lại)

constructor(datastore: Datastore, options?: TransactionOptions);
3

ParameterNameDescriptioncallback
constructor(datastore: Datastore, options?: TransactionOptions);
00
ReturnsTypeDescription void

cam kết (gaxOptions, gọi lại)

constructor(datastore: Datastore, options?: TransactionOptions);
0

ParametersNameDescriptiongaxOptions
skipCommit?: boolean;
9
callback
constructor(datastore: Datastore, options?: TransactionOptions);
00
ReturnsTypeDescription void

tạo Truy vấn (loại)

constructor(datastore: Datastore, options?: TransactionOptions);
1

Tạo truy vấn cho loại đã chỉ định. Xem {mô-đun. kho dữ liệu/truy vấn} cho tất cả các phương pháp có sẵn

ParameterNameDescriptionkind
constructor(datastore: Datastore, options?: TransactionOptions);
03

Loại cần truy vấn.

ReturnsTypeDescription Truy vấn

{Truy vấn}

Ví dụ
constructor(datastore: Datastore, options?: TransactionOptions);
2

tạo Truy vấn (loại)

constructor(datastore: Datastore, options?: TransactionOptions);
3

ParameterNameDescriptionkind
constructor(datastore: Datastore, options?: TransactionOptions);
04
ReturnsTypeDescription Truy vấn

createQuery(không gian tên, loại)

constructor(datastore: Datastore, options?: TransactionOptions);
4

ParametersNameDescriptionnamespace
constructor(datastore: Datastore, options?: TransactionOptions);
03
kind
constructor(datastore: Datastore, options?: TransactionOptions);
03
ReturnsTypeDescription Truy vấn

createQuery(không gian tên, loại)

constructor(datastore: Datastore, options?: TransactionOptions);
5

ParametersNameDescriptionnamespace
constructor(datastore: Datastore, options?: TransactionOptions);
03
kind
constructor(datastore: Datastore, options?: TransactionOptions);
04
ReturnsTypeDescription Truy vấn

xóa (thực thể)

constructor(datastore: Datastore, options?: TransactionOptions);
6

Xóa tất cả các thực thể được xác định bằng (các) khóa được chỉ định trong giao dịch hiện tại

ParameterNameDescriptionentities
constructor(datastore: Datastore, options?: TransactionOptions);
09
ReturnsTypeDescription bất kỳ Ví dụ
constructor(datastore: Datastore, options?: TransactionOptions);
7

chèn (thực thể)

constructor(datastore: Datastore, options?: TransactionOptions);
8

Bản đồ tới , buộc phương thức phải là

constructor(datastore: Datastore, options?: TransactionOptions);
20

ParameterNameDescriptionentities
constructor(datastore: Datastore, options?: TransactionOptions);
09

(Các) đối tượng khóa của kho dữ liệu.

ReturnsTypeDescription void

rollback (gọi lại)

constructor(datastore: Datastore, options?: TransactionOptions);
9

Đảo ngược giao dịch từ xa và hoàn tất phiên bản giao dịch hiện tại

ParameterNameDescriptioncallback
constructor(datastore: Datastore, options?: TransactionOptions);
22

Hàm gọi lại.

ReturnsTypeDescription void Ví dụ
modifiedEntities_: ModifiedEntities;
0

khôi phục (gaxOptions)

modifiedEntities_: ModifiedEntities;
1

ParameterNameDescriptiongaxOptions
skipCommit?: boolean;
9
ReturnsTypeDescription Promise < RollbackResponse>

khôi phục (gaxOptions, gọi lại)

modifiedEntities_: ModifiedEntities;
2

ParametersNameDescriptiongaxOptions
skipCommit?: boolean;
9
callback
constructor(datastore: Datastore, options?: TransactionOptions);
22
ReturnsTypeDescription void

chạy (tùy chọn)

modifiedEntities_: ModifiedEntities;
3

Bắt đầu giao dịch từ xa. Trong cuộc gọi lại được cung cấp, hãy chạy các lệnh giao dịch của bạn

ParameterNameDescriptionoptions
constructor(datastore: Datastore, options?: TransactionOptions);
26

Đối tượng cấu hình.

ReturnsTypeDescription Lời hứa < RunResponse >Ví dụ
modifiedEntities_: ModifiedEntities;
4

chạy (gọi lại)

modifiedEntities_: ModifiedEntities;
5

ParameterNameDescriptioncallback
constructor(datastore: Datastore, options?: TransactionOptions);
27
ReturnsTypeDescription void

chạy (tùy chọn, gọi lại)

modifiedEntities_: ModifiedEntities;
6

ParametersNameDescriptionoptions
constructor(datastore: Datastore, options?: TransactionOptions);
26
callback
constructor(datastore: Datastore, options?: TransactionOptions);
27
ReturnsTypeDescription void

lưu (thực thể)

modifiedEntities_: ModifiedEntities;
7

Chèn hoặc cập nhật (các) đối tượng được chỉ định trong giao dịch hiện tại. Nếu một khóa không đầy đủ, đối tượng được liên kết của nó sẽ được chèn vào và đối tượng Khóa ban đầu được cập nhật để chứa ID đã tạo

Phương thức này sẽ xác định đúng phương thức Kho dữ liệu để thực thi (

constructor(datastore: Datastore, options?: TransactionOptions);
30,
constructor(datastore: Datastore, options?: TransactionOptions);
20 hoặc
constructor(datastore: Datastore, options?: TransactionOptions);
32) bằng cách sử dụng (các) khóa được cung cấp. Ví dụ: nếu bạn cung cấp khóa không đầy đủ (khóa không có ID), thì yêu cầu sẽ tạo một thực thể mới và tự động chỉ định ID của thực thể đó. Nếu bạn cung cấp khóa hoàn chỉnh, thực thể sẽ được cập nhật với dữ liệu được chỉ định

Theo mặc định, tất cả các thuộc tính được lập chỉ mục. Để ngăn không cho một thuộc tính được đưa vào *tất cả* chỉ mục, bạn phải cung cấp một mảng

constructor(datastore: Datastore, options?: TransactionOptions);
33. xem ví dụ bên dưới

Giao dịch trong cầy mangut là gì?

Giao dịch cho phép bạn thực hiện nhiều thao tác một cách độc lập và có khả năng hoàn tác tất cả các thao tác nếu một trong số chúng không thành công . Hướng dẫn này sẽ giúp bạn bắt đầu sử dụng các giao dịch với Mongoose.

Làm cách nào để sử dụng các giao dịch MongoDB trong Nodejs?

Bạn có thể dễ dàng thiết lập Giao dịch MongoDB cần thiết trên Nodejs bằng các bước sau. Bước 1. Thiết lập môi trường cho giao dịch MongoDB trên Nodejs . Bước 2. Tạo giao dịch MongoDB trên Nodejs . Bước 3. Kiểm tra chức năng liên kết với giao dịch MongoDB trên Nodejs .

MongoDB có phải là một giao dịch không?

Đối với các tình huống yêu cầu tính nguyên tử của việc đọc và ghi vào nhiều tài liệu (trong một hoặc nhiều bộ sưu tập), MongoDB hỗ trợ giao dịch nhiều tài liệu . Với các giao dịch phân tán, các giao dịch có thể được sử dụng trên nhiều hoạt động, bộ sưu tập, cơ sở dữ liệu, tài liệu và phân đoạn.

Làm cách nào để thêm giao dịch trong MongoDB?

Các giao dịch trong MongoDB tuân thủ các nguyên tắc ACID này và có thể được sử dụng một cách đáng tin cậy trong các trường hợp cần thay đổi nhiều tài liệu trong một lần. .
Bước 1 — Chuyển đổi phiên bản MongoDB độc lập của bạn thành một bộ bản sao. .
Bước 2 — Chuẩn bị dữ liệu mẫu. .
Bước 3 — Tạo giao dịch hoàn chỉnh đầu tiên của bạn