Tài liệu này cung cấp một bộ sưu tập các hạn chế cứng và mềm của hệ thống MongoDB.
Tài liệu BSON Sizethe Maximum BSON Kích thước tài liệu là 16 megabyte.
The maximum BSON document size is 16 megabytes.
Kích thước tài liệu tối đa giúp đảm bảo rằng một tài liệu duy nhất không thể sử dụng lượng RAM quá mức hoặc, trong quá trình truyền, lượng băng thông quá mức. Để lưu trữ các tài liệu lớn hơn kích thước tối đa, MongoDB cung cấp API GridFS. Xem
0 and the documentation for your driver for more information about GridFS.Độ sâu lồng nhau cho các tài liệu BSONMongoDB hỗ trợ không quá 100 cấp độ tổ cho các tài liệu BSON. Mỗi đối tượng hoặc mảng thêm một cấp độ.
MongoDB supports no more than 100 levels of nesting for BSON documents. Each object or array adds a level.
Sử dụng trường hợp trong cơ sở dữ liệu Tên không dựa vào trường hợp để phân biệt giữa cơ sở dữ liệu. Ví dụ: bạn không thể sử dụng hai cơ sở dữ liệu với các tên như,
2.Hạn chế đối với tên cơ sở dữ liệu cho các triển khai Windows cho MongoDB chạy trên Windows, tên cơ sở dữ liệu không thể chứa bất kỳ ký tự nào sau đây:
For MongoDB deployments running on Windows,
database names cannot contain any of the following characters:
Ngoài ra tên cơ sở dữ liệu không thể chứa ký tự null.
Các hạn chế trên tên cơ sở dữ liệu cho các hệ thống UNIX và Linux cho các triển khai MongoDB chạy trên các hệ thống UNIX và Linux, tên cơ sở dữ liệu không thể chứa bất kỳ ký tự nào sau đây:
For MongoDB deployments
running on Unix and Linux systems, database names cannot contain any of the following characters:
Ngoài ra tên cơ sở dữ liệu không thể chứa ký tự null.
Các hạn chế trên tên cơ sở dữ liệu cho các hệ thống UNIX và Linux cho các triển khai MongoDB chạy trên các hệ thống UNIX và Linux, tên cơ sở dữ liệu không thể chứa bất kỳ ký tự nào sau đây:
Database names cannot be empty and must have fewer than 64
characters.
Độ dài của tên cơ sở dữ liệu Tên cơ sở dữ liệu không thể trống và phải có ít hơn 64 ký tự.
Collection names should begin with an underscore or a letter character, and cannot:
Hạn chế đối với các tên nameScollection thu thập nên bắt đầu bằng một dấu gạch dưới hoặc ký tự chữ cái và không thể:
Nếu tên thu thập của bạn bao gồm các ký tự đặc biệt, chẳng hạn như ký tự dấu gạch dưới hoặc bắt đầu bằng các số, thì để truy cập bộ sưu tập sử dụng phương thức
1 trở lên, MongoDB làm tăng giới hạn cho các bộ sưu tập và chế độ xem không được che chắn lên 255 byte, và đến 235 byte cho các bộ sưu tập Sharded. Đối với một bộ sưu tập hoặc chế độ xem, không gian tên bao gồm tên cơ sở dữ liệu, dấu chấm (
Các hạn chế đối với _idthe tên trường db.inventory.find( { }, { "": 0 } ) // Invalid starting in 4.40 được dành riêng để sử dụng làm khóa chính; Giá trị của nó phải là duy nhất trong bộ sưu tập, là bất biến và có thể thuộc bất kỳ loại nào khác ngoài một mảng. Nếu db.inventory.find( { }, { "": 0 } ) // Invalid starting in 4.40 chứa các trường con, tên trường con không thể bắt đầu bằng biểu tượng (db.inventory.find( {}, { "$instock.warehouse": 0, "$item": 0, "detail.$price": 1 } ) // Invalid starting in 4.46).
Cảnh báo
Sử dụng thận trọng, các vấn đề được thảo luận trong phần này có thể dẫn đến mất dữ liệu hoặc tham nhũng.
Ngôn ngữ truy vấn MongoDB không được xác định đối với các tài liệu có tên trường trùng lặp. Các nhà xây dựng BSON có thể hỗ trợ tạo tài liệu BSON với tên trường trùng lặp. Mặc dù BSON Builder có thể không mắc lỗi, việc chèn các tài liệu này vào MongoDB không được hỗ trợ ngay cả khi việc chèn thành công. Ví dụ: chèn một tài liệu BSON với tên trường trùng lặp thông qua trình điều khiển MongoDB có thể dẫn đến việc người lái âm thầm bỏ các giá trị trùng lặp trước khi chèn.
6 có thể không hoạt động như mong đợi trong một số tình huống với tên trường sử dụng các ký tự này.
MongoDB mở rộng JSON V2 không thể phân biệt giữa các gói gói và trường xảy ra có cùng tên với trình bao bọc loại. Không sử dụng các định dạng JSON mở rộng trong các bối cảnh trong đó các biểu diễn BSON tương ứng có thể bao gồm các khóa có tiền tố Dollar (
2) nếu các tên trường này được sử dụng cùng với các chữ viết không được biết .
Khi chạy Chèn, Cập nhật và FindAndModify các lệnh, trình điều khiển có khả năng loại bỏ 5.0 Tương thích khi sử dụng các tài liệu có tên trường có tiền tố Dollar (
2). Các tên trường này đã tạo ra một lỗi phía máy khách trong các phiên bản trình điều khiển trước đó.
Các hạn chế được xóa bất kể phiên bản máy chủ mà trình điều khiển được kết nối. Nếu trình điều khiển 5.0 gửi tài liệu đến máy chủ cũ, tài liệu sẽ bị từ chối mà không gửi lỗi.
Không gian tên chiều dài cho tính năng tương tự FeatureCompition được đặt thành
1 trở lên, MongoDB làm tăng giới hạn cho các bộ sưu tập và chế độ xem không được che chắn lên 255 byte, và đến 235 byte cho các bộ sưu tập được che phủ. Đối với một bộ sưu tập hoặc chế độ xem, không gian tên bao gồm tên cơ sở dữ liệu, dấu chấm (
1 or greater, MongoDB raises the limit for unsharded collections and views to
255 bytes, and to 235 bytes for sharded collections. For a collection or a view, the namespace includes the database name, the dot (
2 hoặc sớm hơn, tổng kích thước của một mục nhập chỉ số, có thể bao gồm chi phí cấu trúc tùy thuộc vào loại BSON, phải nhỏ hơn 1024 byte.
Khi giới hạn khóa chỉ mục áp dụng:Index Key Limit applies:
MongoDB sẽ không tạo một chỉ mục trên bộ sưu tập nếu mục nhập chỉ mục cho một tài liệu hiện có vượt quá giới hạn khóa chỉ mục.not create an index on a collection if the index entry for an
existing document exceeds the index key limit.
Các hoạt động tái lập sẽ xảy ra lỗi nếu mục nhập chỉ mục cho một trường được lập chỉ mục vượt quá giới hạn khóa chỉ mục. Các hoạt động tái hiện xảy ra như là một phần của lệnh
Bởi vì các hoạt động này giảm tất cả các chỉ mục từ một bộ sưu tập và sau đó tái tạo chúng theo tuần tự, lỗi từ giới hạn khóa chỉ mục ngăn các hoạt động này xây dựng lại bất kỳ chỉ mục còn lại nào cho bộ sưu tập.index key limit prevents these operations from rebuilding any remaining indexes for the collection.
MongoDB sẽ không chèn vào một bộ sưu tập được lập chỉ mục bất kỳ tài liệu nào có trường được lập chỉ mục có mục nhập chỉ mục tương ứng sẽ vượt quá giới hạn khóa chỉ mục và thay vào đó, sẽ trả về một lỗi. Các phiên bản trước của MongoDB sẽ chèn nhưng không lập chỉ mục các tài liệu đó.index
key limit, and instead, will return an error. Previous versions of MongoDB would insert but not index such documents.
Cập nhật cho trường được lập chỉ mục sẽ lỗi nếu giá trị được cập nhật khiến mục nhập chỉ mục vượt quá giới hạn khóa chỉ mục.index key limit.
Nếu một tài liệu hiện có chứa một trường được lập chỉ mục có mục nhập chỉ mục vượt quá giới hạn, bất kỳ bản cập nhật nào dẫn đến việc di dời tài liệu đó trên đĩa sẽ xảy ra lỗi.
5 will not insert documents that contain an indexed field whose corresponding
index entry would exceed the index key limit.
Trong MongoDB 2.6, các thành viên thứ cấp của các bộ bản sao sẽ tiếp tục sao chép các tài liệu với một trường được lập chỉ mục có mục nhập chỉ mục tương ứng vượt quá giới hạn khóa chỉ mục khi đồng bộ hóa ban đầu nhưng sẽ in cảnh báo trong nhật ký.index key limit on initial sync
but will print warnings in the logs.
Các thành viên thứ cấp cũng cho phép các hoạt động xây dựng và xây dựng lại chỉ mục trên một bộ sưu tập chứa một trường được lập chỉ mục có mục nhập chỉ mục tương ứng vượt quá giới hạn khóa chỉ mục nhưng với các cảnh báo trong nhật ký.index key limit but with warnings in the logs.
Với các bộ bản sao phiên bản hỗn hợp trong đó các thứ hai là phiên bản 2.6 và chính là phiên bản 2.4, các phần hai sẽ sao chép các tài liệu được chèn hoặc cập nhật trên chính 2.4 giới hạn khóa chỉ mục.index key limit.
Đối với các bộ sưu tập Sharded hiện tại, di chuyển chunk sẽ thất bại nếu đoạn có một tài liệu chứa một trường được lập chỉ mục có mục nhập chỉ mục vượt quá giới hạn khóa chỉ mục.index key limit.
Số lượng chỉ mục trên mỗi bộ sưu tập bộ sưu tập có thể có không quá 64 chỉ mục.
A single collection can have no more than 64 indexes.
Độ dài tên chỉ mục
Ghi chú
Đã thay đổi trong phiên bản 4.2
Đối với MongoDB 2.6 thông qua các phiên bản MongoDB với FCV được đặt thành
2 hoặc sớm hơn, tổng kích thước của một mục nhập chỉ số, có thể bao gồm chi phí cấu trúc tùy thuộc vào loại BSON, phải nhỏ hơn 1024 byte.
Khi giới hạn khóa chỉ mục áp dụng:
MongoDB sẽ không tạo một chỉ mục trên bộ sưu tập nếu mục nhập chỉ mục cho một tài liệu hiện có vượt quá giới hạn khóa chỉ mục.
There can be no more than 32 fields in a compound index.
Các hoạt động tái lập sẽ xảy ra lỗi nếu mục nhập chỉ mục cho một trường được lập chỉ mục vượt quá giới hạn khóa chỉ mục. Các hoạt động tái hiện xảy ra như là một phần của lệnh
4
operator.Các trường có chỉ mục 2DSphere chỉ có thể giữ các trường hình học với các chỉ mục 2DSphere phải giữ dữ liệu hình học dưới dạng các cặp tọa độ hoặc dữ liệu Geojson. Nếu bạn cố gắng chèn một tài liệu với dữ liệu phi hình học trong trường
5 trên một bộ sưu tập trong đó trường được lập chỉ mục có dữ liệu phi hình học, hoạt động sẽ không thành công.
Fields with 2dsphere indexes must hold geometry data in the form of coordinate pairs or GeoJSON data. If you attempt to insert a document with non-geometry data in a
7 tính toán sản phẩm Cartesian của các bộ khóa được tạo cho mỗi trường. Nếu cả hai bộ đều lớn, thì việc tính toán sản phẩm Cartesian có thể khiến hoạt động vượt quá giới hạn bộ nhớ.
1 Giới hạn số lượng khóa tối đa được tạo cho một tài liệu duy nhất để ngăn chặn các lỗi bộ nhớ. Mặc định là các phím chỉ số 100000 cho mỗi tài liệu. Có thể tăng giới hạn, nhưng nếu một thao tác yêu cầu nhiều khóa hơn tham số
1 chỉ định, thì thao tác sẽ không thành công.Các giá trị NAN được trả về từ các truy vấn được bảo hiểm bởi công cụ lưu trữ WiredTiger luôn loại hình đôi Nếu giá trị của một trường được trả về từ một truy vấn được bao phủ bởi một chỉ mục là ____73, loại giá trị
3. Đặt giới hạn bộ nhớ cao hơn có thể dẫn đến việc hoàn thành các bản dựng chỉ mục nhanh hơn. Tuy nhiên, việc đặt giới hạn này quá cao so với RAM không sử dụng trên hệ thống của bạn có thể dẫn đến cạn kiệt bộ nhớ và tắt máy chủ.
2, giới hạn bộ nhớ xây dựng chỉ mục chỉ áp dụng cho các bản dựng chỉ mục tiền cảnh.
Các bản dựng chỉ mục có thể được bắt đầu bởi một lệnh người dùng như tạo chỉ mục hoặc bằng một quy trình quản trị như đồng bộ hóa ban đầu. Cả hai đều phải tuân theo giới hạn được đặt bởi
Một hoạt động đồng bộ ban đầu chỉ có một bộ sưu tập tại một thời điểm và không có nguy cơ vượt quá giới hạn bộ nhớ. Tuy nhiên, người dùng có thể bắt đầu xây dựng chỉ mục trên nhiều bộ sưu tập trong nhiều cơ sở dữ liệu và có khả năng tiêu thụ một lượng bộ nhớ lớn hơn giới hạn được đặt trong
Để giảm thiểu tác động của việc xây dựng một chỉ mục đối với các bộ bản sao và các cụm được che phủ với các mảnh ghép bản sao, hãy sử dụng quy trình xây dựng chỉ số cuộn như được mô tả trên các bản dựng chỉ mục cuộn trên các bộ bản sao.
Đối chiếu và chỉ số đánh máy sau các loại chỉ mục chỉ hỗ trợ so sánh nhị phân đơn giản và không hỗ trợ đối chiếu:
The following index types only support simple binary
comparison and do not support collation:
5 parameter,
the value must be less than 2 31 documents.
Nếu bạn không chỉ định số lượng tài liệu tối đa khi tạo bộ sưu tập giới hạn, không có giới hạn về số lượng tài liệu.
Số lượng thành viên của một bộ setreplica bản sao có thể có tối đa 50 thành viên.
Replica sets can have up to 50 members.
Số lượng thành viên bỏ phiếu của một bộ setreplica bản sao có thể có tối đa 7 thành viên bỏ phiếu. Đối với các bộ bản sao với hơn 7 tổng số thành viên, xem các thành viên không bỏ phiếu.
Replica sets can have up to 7 voting members. For replica sets with more than 7 total members, see Non-Voting
Members.
Kích thước tối đa của oplogif tự động tạo ra, bạn không chỉ định rõ ràng kích thước oplog (nghĩa là với
var session = db.getMongo().startSession()
var sessionId = session.getSessionId().id
var cursor = session.getDatabase("examples").getCollection("data").find().noCursorTimeout()
var refreshTimestamp = new Date() // take note of time at operation start
while (cursor.hasNext()) {
// Check if more than 5 minutes have passed since the last refresh
03.Các truy vấn được bảo hiểm trong các cụm được phân loại trong MongoDB 3.0, một chỉ mục không thể bao gồm một truy vấn trên bộ sưu tập Sharded khi chạy chống lại
04Việc thu thập dữ liệu bộ sưu tập hiện có Bộ sưu tập hiện tại của SIZEAN chỉ có thể được chia nhỏ nếu kích thước của nó không vượt quá giới hạn cụ thể. Các giới hạn này có thể được ước tính dựa trên kích thước trung bình của tất cả các giá trị khóa Shard và kích thước chunk được cấu hình.
An existing collection can only be sharded if its size does not exceed specific limits. These limits can be estimated based on the average size of all
shard key values, and the configured chunk size.
Quan trọng
Những giới hạn này chỉ áp dụng cho hoạt động Sharding ban đầu. Các bộ sưu tập Sharded có thể phát triển đến mọi kích thước sau khi cho phép Sharding thành công.
Sử dụng các công thức sau để tính toán kích thước thu thập tối đa lý thuyết.
07 nhỏ hơn hoặc gần bằng với bộ sưu tập mục tiêu, hãy tăng kích thước chunk để đảm bảo thu hẹp ban đầu thành công. Nếu có nghi ngờ về việc liệu kết quả của tính toán có quá 'gần' với kích thước thu thập mục tiêu hay không, thì có khả năng tốt hơn là tăng kích thước chunk.
Sau khi thu nhỏ thành công, bạn có thể giảm kích thước chunk khi cần thiết. Nếu sau đó bạn giảm kích thước chunk, có thể mất thời gian để tất cả các khối phân chia theo kích thước mới. Xem Sửa đổi kích thước chunk trong một cụm mảnh để hướng dẫn sửa đổi kích thước chunk.
Bảng này minh họa các kích thước bộ sưu tập tối đa gần đúng bằng cách sử dụng các công thức được mô tả ở trên:
Kích thước trung bình của các giá trị khóa Shard
512 byte
256 byte
128 byte
64 byte
Số lượng phân tách tối đa
32,768
65,536
131,072
262,144
Kích thước bộ sưu tập tối đa (kích thước chunk 64 MB)
1 tb
2 TB
4 tb
8 tb
Kích thước bộ sưu tập tối đa (kích thước chunk 128 MB)
2 TB
4 tb
8 tb
Kích thước bộ sưu tập tối đa (kích thước chunk 128 MB)
16 tb
4 tb
8 tb
Kích thước bộ sưu tập tối đa (kích thước chunk 128 MB)
16 tb
Kích thước bộ sưu tập tối đa (kích thước chunk 256 MB)
MongoDB does not support unique indexes
across shards, except when the unique index contains the full shard key as a prefix of the index. In these situations MongoDB will enforce uniqueness across the full key, not a single field.
db.inventory.find( {}, { "$instock.warehouse": 0, "$item": 0, "detail.$price": 1 } ) // Invalid starting in 4.408 và db.inventory.find( {}, { "$instock.warehouse": 0, "$item": 0, "detail.$price": 1 } ) // Invalid starting in 4.409 Các hoạt động Chỉ định db.inventory.find( {}, { "$instock.warehouse": 0, "$item": 0, "detail.$price": 1 } ) // Invalid starting in 4.410 hoặc db.inventory.find( {}, { "$instock.warehouse": 0, "$item": 0, "detail.$price": 1 } ) // Invalid starting in 4.411 trong bộ sưu tập Sharded không chứa khóa Shard hoặc trường db.inventory.find( { }, { "": 0 } ) // Invalid starting in 4.40 trả về lỗi.
Các chỉ mục duy nhất trong bộ sưu tập Sharded không hỗ trợ các chỉ mục duy nhất trên các mảnh vỡ, ngoại trừ khi chỉ mục duy nhất chứa khóa Shard đầy đủ dưới dạng tiền tố của chỉ mục. Trong những tình huống này MongoDB sẽ thực thi tính độc đáo trên toàn bộ khóa, không phải là một trường duy nhất.
Mẹo
By default, MongoDB cannot move a chunk if the number of documents in the chunk is greater than 1.3 times the result of dividing the configured
chunk size by the average document size.
19 field, which represents the average document size in the collection.
Nhìn thấy:
Số lượng tài liệu tối đa cho mỗi đoạn để di chuyển mặc định, MongoDB không thể di chuyển một đoạn nếu số lượng tài liệu trong khối lớn hơn 1,3 lần so với kết quả của việc chia kích thước chunk được cấu hình cho kích thước tài liệu trung bình.
20 cho phép bộ cân bằng di chuyển các khối quá lớn để di chuyển miễn là các khối không được dán nhãn jumbo. Xem các khối cân bằng vượt quá giới hạn kích thước để biết chi tiết.
Starting in version 4.4, MongoDB removes the limit on the shard key size.
21 có thể chỉ định một tùy chọn mới Forcejumbo để cho phép di chuyển các khối quá lớn để di chuyển. Các khối có thể hoặc không được dán nhãn jumbo.Shard Key Sizestarting Trong phiên bản 4.4, MongoDB sẽ loại bỏ giới hạn trên kích thước phím Shard.
A shard key index can be an ascending index on the shard key, a compound index that start with the shard key and specify ascending order for the shard key, or a
hashed index.
Đối với MongoDB 4.2 và sớm hơn, khóa Shard không thể vượt quá 512 byte.
Chỉ số Keya Key Index Shard có thể là một chỉ số tăng dần trên phím Shard, một chỉ số ghép bắt đầu với phím Shard và chỉ định thứ tự tăng dần cho phím Shard hoặc chỉ số băm.
Your options for changing a shard key depend on the version of MongoDB that you are running:
Chỉ số khóa Shard không thể là một chỉ mục chỉ số chỉ mục đa năng, chỉ mục văn bản hoặc chỉ mục không gian địa chỉ trên các trường khóa Shard.
Lựa chọn khóa Shard là bất biến trong các tùy chọn MongoDB 4.2 và Earlieryour để thay đổi khóa Shard phụ thuộc vào phiên bản MongoDB mà bạn đang chạy:
Trong MongoDB 4.2 và trước đó, sự lựa chọn của Key Shard không thể thay đổi sau khi bỏ rơi.
Trong MongoDB 4.2 và sớm hơn, để thay đổi phím Shard:
Đổ tất cả dữ liệu từ MongoDB vào một định dạng bên ngoài.
Thả bộ sưu tập Sharded ban đầu.
Định cấu hình Sharding bằng khóa Shard mới.
Phân chia trước Phạm vi khóa Shard để đảm bảo phân phối ban đầu.
Khôi phục dữ liệu đã đổ vào MongoDB.
Các khóa Shard tăng đơn điệu có thể giới hạn thông lượng chèn cho các cụm có khối lượng chèn cao, một phím Shard với các phím tăng đơn điệu và giảm có thể ảnh hưởng đến thông lượng chèn. Nếu khóa Shard của bạn là trường
For clusters with high insert volumes, a shard key with monotonically increasing and decreasing keys
can affect insert throughput. If your shard key is the
0 fields are ObjectIds which have generally increasing values.
Khi chèn các tài liệu với các phím Shard tăng đơn điệu, tất cả các phần chèn đều thuộc về cùng một khối trên một mảnh vỡ. Hệ thống cuối cùng phân chia phạm vi chunk nhận tất cả các hoạt động ghi và di chuyển nội dung của nó để phân phối dữ liệu đều hơn. Tuy nhiên, tại bất cứ lúc nào, cụm chỉ hướng các hoạt động chèn vào một mảnh vỡ duy nhất, tạo ra một nút cổ chai thông lượng.
Nếu các hoạt động trên cụm chủ yếu đọc các hoạt động và cập nhật, giới hạn này có thể không ảnh hưởng đến cụm.
Để tránh ràng buộc này, hãy sử dụng khóa Shard băm hoặc chọn một trường không tăng hoặc giảm đơn điệu.
Các khóa băm và các chỉ số băm băm các khóa của các khóa có giá trị tăng dần.
Sắp xếp Operationsif MongoDB không thể sử dụng chỉ mục hoặc chỉ mục để có được thứ tự sắp xếp, MongoDB phải thực hiện thao tác phân loại chặn trên dữ liệu. Tên đề cập đến yêu cầu rằng giai đoạn
24 đọc tất cả các tài liệu đầu vào trước khi trả lại bất kỳ tài liệu đầu ra nào, chặn luồng dữ liệu cho truy vấn cụ thể đó.
If MongoDB cannot use an index or
indexes to obtain the sort order, MongoDB must perform a blocking sort operation on the data. The name refers to the requirement that the
26 cho phép MongoDB sử dụng các tệp tạm thời trên đĩa để lưu trữ dữ liệu vượt quá giới hạn bộ nhớ hệ thống 100 megabyte trong khi xử lý hoạt động sắp xếp chặn.
Đã thay đổi trong phiên bản 4.4: Đối với MongoDB 4.2 và trước đó, việc chặn các hoạt động sắp xếp không thể vượt quá 32 megabyte của bộ nhớ hệ thống.
Để biết thêm thông tin về các loại và sử dụng chỉ mục, xem Sắp xếp và sử dụng chỉ mục.
Tập hợp Pipeline Hoạt động khởi động trong MongoDB 6.0, tham số
29, các giai đoạn đường ống yêu cầu hơn 100 megabyte bộ nhớ để thực hiện ghi các tệp tạm thời vào đĩa theo mặc định. Bạn có thể vô hiệu hóa việc ghi các tệp tạm thời vào đĩa cho các lệnh cụ thể
34, các giai đoạn đường ống yêu cầu hơn 100 megabyte của bộ nhớ để thực hiện gây ra lỗi theo mặc định. Bạn có thể bật các tệp tạm thời vào đĩa cho cụ thể
Các giai đoạn đường ống hoạt động trên các luồng tài liệu với mỗi giai đoạn đường ống tham gia vào các tài liệu, xử lý chúng và sau đó xuất ra các tài liệu kết quả.
Một số giai đoạn không thể xuất bất kỳ tài liệu nào cho đến khi họ đã xử lý tất cả các tài liệu đến. Các giai đoạn đường ống này phải giữ đầu ra giai đoạn của chúng trong RAM cho đến khi tất cả các tài liệu đến được xử lý. Do đó, các giai đoạn đường ống này có thể yêu cầu nhiều không gian hơn giới hạn 100 MB.
66 queries for the complementary geometry.Giao dịch đa tài liệu cho các giao dịch đa tài liệu:
For multi-document transactions:
Bạn có thể chỉ định các hoạt động đọc/ghi (CRUD) trên các bộ sưu tập hiện có. Để biết danh sách các hoạt động CRUD, xem các hoạt động của CRUD.existing collections. For a list of CRUD operations, see
CRUD Operations.
Bắt đầu từ MongoDB 4.4, bạn có thể tạo các bộ sưu tập và chỉ mục trong các giao dịch. Để biết chi tiết, hãy xem Tạo Bộ sưu tập và Chỉ mục trong một giao dịch
Các bộ sưu tập được sử dụng trong một giao dịch có thể nằm trong các cơ sở dữ liệu khác nhau.
Ghi chú
Bạn không thể tạo các bộ sưu tập mới trong các giao dịch ghi chéo. Ví dụ: nếu bạn viết vào một bộ sưu tập hiện có trong một mảnh vỡ và ngầm tạo một bộ sưu tập trong một shard khác, MongoDB không thể thực hiện cả hai thao tác trong cùng một giao dịch.
Bạn không thể viết cho các bộ sưu tập giới hạn. (Bắt đầu từ MongoDB 4.2)
Các hoạt động sau đây không được phép trong các giao dịch:
Các hoạt động ảnh hưởng đến danh mục cơ sở dữ liệu, chẳng hạn như tạo hoặc bỏ bộ sưu tập hoặc chỉ mục khi sử dụng MongoDB 4.2 hoặc thấp hơn. Bắt đầu từ MongoDB 4.4, bạn có thể tạo các bộ sưu tập và chỉ mục trong các giao dịch trừ khi giao dịch là giao dịch ghi chéo. Để biết chi tiết, xem Tạo Bộ sưu tập và Chỉ mục trong một giao dịch.
Tạo các bộ sưu tập mới trong các giao dịch ghi chéo. Ví dụ: nếu bạn viết vào một bộ sưu tập hiện có trong một mảnh vỡ và ngầm tạo một bộ sưu tập trong một shard khác, MongoDB không thể thực hiện cả hai thao tác trong cùng một giao dịch.
Trong các phiên bản trước, MongoDB xử lý việc bao gồm/loại trừ trường trống vì nó sẽ chiếu các trường không tồn tại. Các trường của tài liệu. Ví dụ, hãy xem xét một bộ sưu tập
Trong các phiên bản trước, phép chiếu cuối cùng giữa các tài liệu nhúng và các trường của nó xác định phép chiếu:
Nếu phép chiếu của tài liệu nhúng xuất hiện sau bất kỳ và tất cả các dự đoán của các trường của nó, MongoDB dự án tài liệu nhúng. Ví dụ: tài liệu chiếu
Nếu phép chiếu của tài liệu nhúng xuất hiện trước khi chiếu bất kỳ trường nào của nó, MongoDB dự án trường hoặc trường được chỉ định. Ví dụ: tài liệu trình chiếu
53 không loại trừ bất kỳ trường tài liệu nào khác.Các phiên và $ giới hạn tên người dùng bên ngoài sử dụng các phiên khách hàng và đảm bảo tính nhất quán nhân quả với người dùng xác thực
54 authentication users (Kerberos, LDAP, or x.509 users), usernames cannot be greater than 10k bytes.Các thời gian chờ nhàn rỗi phiên không nhận được hoạt động đọc hoặc ghi trong 30 phút hoặc không được làm mới bằng cách sử dụng
55 trong ngưỡng này được đánh dấu là đã hết hạn và có thể được đóng bởi máy chủ MongoDB bất cứ lúc nào. Đóng một phiên giết chết bất kỳ hoạt động đang thực hiện và con trỏ mở liên quan đến phiên. Điều này bao gồm các con trỏ được cấu hình với
55 within this threshold are marked as expired and can be closed by the MongoDB server at any time. Closing a session kills any in-progress operations and open cursors associated with the session. This includes cursors configured with
02. Phiên làm mới mỗi khi ứng dụng yêu cầu một lô tài liệu mới từ máy chủ. Tuy nhiên, nếu ứng dụng mất hơn 30 phút để xử lý lô tài liệu hiện tại, phiên này được đánh dấu là hết hạn và đóng. Khi ứng dụng yêu cầu lô tài liệu tiếp theo, máy chủ sẽ trả về lỗi khi con trỏ bị giết khi phiên bị đóng.
Đối với các hoạt động trả về con trỏ, nếu con trỏ có thể không hoạt động trong thời gian dài hơn 30 phút, hãy đưa ra thao tác trong một phiên rõ ràng bằng cách sử dụng
55 để làm mới phiên cứ sau 5 phút.Vì phiên sẽ không bao giờ vượt quá thời gian chờ lúc 30 phút, con trỏ có thể vẫn mở vô thời hạn.
Đối với trình điều khiển MongoDB, trì hoãn tài liệu trình điều khiển để được hướng dẫn và cú pháp để tạo các phiên.driver documentation for instructions and syntax for creating sessions.