| Chỉ áp dụng cho phiên bản Cloud Firestore Enterprise. |
Trang này mô tả những điểm khác biệt về hành vi giữa Cloud Firestore có khả năng tương thích với MongoDB và MongoDB.
Để biết thông tin chi tiết về các tính năng được hỗ trợ tuỳ thuộc vào phiên bản MongoDB, hãy xem:
- Các tính năng được hỗ trợ: 8.0
- Các tính năng được hỗ trợ: 7.0
- Các tính năng được hỗ trợ: 6.0
- Các tính năng được hỗ trợ: 5.0
Kết nối và cơ sở dữ liệu
- Mỗi kết nối chỉ được giới hạn ở một Cloud Firestore có cơ sở dữ liệu tương thích với MongoDB.
- Bạn phải tạo cơ sở dữ liệu trước khi kết nối với cơ sở dữ liệu đó.
Đặt tên
Những điểm khác biệt sau đây áp dụng cho việc đặt tên các phần trong mô hình dữ liệu của bạn.
Bộ sưu tập
- Tên bộ sưu tập khớp với
__.*__không được hỗ trợ.
Trường
- Tên trường khớp với
__.*__không được hỗ trợ. - Không hỗ trợ tên trường trống.
Tài liệu
- Kích thước tài liệu tối đa là 4 MiB.
- Độ sâu lồng ghép tối đa của các trường là 20. Mỗi trường có kiểu Array và Object sẽ thêm một cấp vào độ sâu tổng thể.
_id
- Tài liệu
_id(trường cấp cao nhất) phải là ObjectId, String hoặc số nguyên 64 bit. Các loại BSON khác không được hỗ trợ. - Không hỗ trợ chuỗi trống ("") và 0 (0L) 64 bit.
Giá trị
- Các loại BSON JavaScript, Symbol, DBPointer và Undefined không được hỗ trợ.
Ngày
- Giá trị ngày phải nằm trong
[0001-01-01T00:00:00Z, 9999-12-31T23:59:59Z].
Decimal128
NaN, giá trị vô cực dương và vô cực âm được chuẩn hoá khi ghi.- Không hỗ trợ các phép toán số học trên Decimal128.
Giường đôi
- Các giá trị
NaNđược chuẩn hoá khi ghi.
Cụm từ thông dụng
- Các lựa chọn biểu thức chính quy phải hợp lệ ("i", "m", "s", "u" hoặc "x") và được cung cấp theo thứ tự bảng chữ cái mà không có nội dung lặp lại.
Cụm từ tìm kiếm
- Thứ tự sắp xếp tự nhiên (các truy vấn không có tiêu chí sắp xếp rõ ràng) không khớp với thứ tự chèn hoặc thứ tự sắp xếp theo
_idtăng dần.
Tổng hợp
- Các phép tổng hợp chỉ được có tối đa 250 giai đoạn.
- Không hỗ trợ các giai đoạn
$mergevà$out. Hãy xem phần lệnh để biết danh sách đầy đủ các giai đoạn và toán tử được hỗ trợ. - Giai đoạn
$lookupkhông hỗ trợ các trườngletvàpipeline.
Hoạt động ghi
- Bạn không thể tạo tài liệu có tên bắt đầu bằng dấu đô la ("$") bằng tính năng chèn và cập nhật của
updatehoặcfindAndModify. - Đảm bảo chuỗi kết nối của bạn bao gồm
retryWrites=false(hoặc sử dụng phương thức phù hợp với trình điều khiển của bạn) để đảm bảo trình điều khiển không cố gắng sử dụng tính năng này. Không hỗ trợ các thao tác ghi có thể thử lại.
Giao dịch
Có hỗ trợ cô lập ảnh chụp nhanh và giao dịch có thể chuyển đổi tuần tự.
Theo mặc định, các giao dịch sử dụng cơ chế kiểm soát đồng thời lạc quan với tính năng cách ly ảnh chụp nhanh.
Đọc dữ liệu về mối lo ngại
Cloud Firestore có khả năng tương thích với MongoDB , hỗ trợ các mối lo ngại về việc đọc
snapshot,majorityvàlinearizable. Giá trị mặc định làsnapshot, đề cập đến tính năng cách ly ảnh chụp nhanh.Sử dụng
linearizablekhi ứng dụng yêu cầu tính nhất quán nghiêm ngặt và phải ngăn chặn các điểm bất thường về độ lệch ghi. Đối với các khối lượng công việc khác,snapshotcó thể cải thiện hiệu suất và giảm tình trạng tranh chấp giao dịch.
Viết mối lo ngại
- Chỉ hỗ trợ các mối lo ngại khi ghi
w: 'majority'vàw: 1.
Lựa chọn ưu tiên khi đọc
- Chỉ các mối lo ngại về việc đọc
primary,primaryPreferred,primary_preferred,secondary_preferredvànearestđược hỗ trợ.
Chỉ số
- Không hỗ trợ chỉ mục có ký tự đại diện.
- Cloud Firestore tương thích với MongoDB không tự động tạo chỉ mục trên
_id, nhưng đảm bảo các giá trị của_idlà duy nhất trong một tập hợp. - Các chỉ mục không bật nhiều khoá sẽ không tự động thay đổi thành chỉ mục nhiều khoá dựa trên các thao tác ghi. Bạn phải bật nhiều khoá khi tạo chỉ mục và không thể thay đổi lựa chọn này.
Lỗi
- Mã lỗi và thông báo lỗi có thể khác nhau giữa Cloud Firestore có khả năng tương thích với MongoDB và MongoDB.
Lệnh
Những điểm khác biệt sau đây về hành vi áp dụng cho các lệnh cụ thể.
- Các lệnh không có trong các bảng sau đây sẽ không được hỗ trợ.
- Hầu hết các lệnh đều chấp nhận
maxTimeMSnhưng có thể bỏ qua.
Truy vấn và hoạt động ghi
| Lệnh | Các trường không được hỗ trợ |
|---|---|
|
|
|
|
|
|
|
|
|
Trong câu lệnh xoá:
|
|
|
|
|
|
|
|
|
|
(không có) |
Giao dịch và phiên hoạt động
| Lệnh | Các trường không được hỗ trợ |
|---|---|
|
|
|
|
|
(không có) |
Quản trị
| Lệnh | Các trường không được hỗ trợ | Ghi chú |
|---|---|---|
|
|
filter phải để trống nếu bạn cung cấp. |
|
|
authorizedCollections phải là false nếu được cung cấp. |
|
|
|
|
|
Lệnh này không có tác dụng.capped phải là false nếu được cung cấp. |
Bước tiếp theo
- Chạy Hướng dẫn nhanh: Tạo cơ sở dữ liệu và kết nối với cơ sở dữ liệu đó.
- Để xem danh sách đầy đủ các tính năng được hỗ trợ, hãy xem bài viết Các loại dữ liệu, trình điều khiển và tính năng được hỗ trợ của MongoDB.