Hướng dẫn mongodb capacity planning - lập kế hoạch dung lượng mongodb
Tài liệu về nhà → Hướng dẫn sử dụng MongoDB → MongoDB Manual Show
Trên trang này
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. 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 và tài liệu cho trình điều khiển của bạn để biết thêm thông tin về GridFs. 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. 1 và 2.Do not rely on case to distinguish between databases. For example, you cannot use two databases with names like, 1 and 2.Sau khi bạn tạo một cơ sở dữ liệu trong MongoDB, bạn phải sử dụng vốn hóa nhất quán khi bạn tham khảo nó. Ví dụ: nếu bạn tạo cơ sở dữ liệu 1, không đề cập đến nó bằng cách sử dụng vốn hóa thay thế như 4 hoặc 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:
Bắt đầu với tiền tố 8. (Dành riêng cho sử dụng nội bộ.) 0 or a similar method for your driver.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 9 trong 0 hoặc phương thức tương tự cho trình điều khiển của bạn.
4 hoặc sớm hơn, độ dài tối đa của các bộ sưu tập không được che chắn và xem không gian tên vẫn còn 120 byte và 100 byte cho bộ sưu tập bị che phủ.
6) và ( 2) trong tên trường. Có một số hạn chế. Xem xem xét tên trường để biết thêm chi tiết.The field name 0 is reserved for use as a primary key; its value must be unique in the collection, is immutable, and may be of any type other than an array. If the 0 contains subfields, the subfield names cannot begin with a ( 6) symbol.
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. db.inventory.find( { }, { "": 0 } ) // Invalid starting in 4.4 db.inventory.find( { }, { "": 0 } ) // Invalid starting in 4.4 Bắt đầu từ MongoDB 5.0, tên trường tài liệu có thể là tiền tố đô la ( 6) và có thể chứa các khoảng thời gian ( 2). Tuy nhiên, 5 và 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 ( 6). Cơ chế DBREF là một ngoại lệ cho quy tắc chung này. 5 and 6 with periods ( 2) in field names. Since CSV files use the period ( 2) to represent data hierarchies, a period ( 2) in a field name will be
misinterpreted as a level of nesting.Có một cơ hội nhỏ để mất dữ liệu khi sử dụng Dollar ( 6) tên trường hoặc tên trường có chứa các khoảng thời gian ( 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 ( 6) hoặc chứa các khoảng thời gian ( 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. 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 ( 2) và tên thu thập/xem (ví dụ: 3),
MẹoXem thêm: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:Index Key Limit applies:
A single collection can have no more than 64 indexes. Độ dài tên chỉ mụcGhi 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 3 cũng như phương thức 4.You cannot combine the 2 query, which requires a special
text index, with a query operator that requires a different type of special index. For example you cannot combine 2 query with the 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 được lập chỉ mục hoặc xây dựng chỉ mục 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 5 indexed field, or build a 5 index on a collection where the indexed field has non-geometry data, the operation will fail.Mẹo
Xem thêm: 7 Bản đồ hình dạng Geojson cho biểu diễn nội bộ. Các biểu diễn nội bộ kết quả có thể là một loạt các giá trị lớn.To generate keys for a 2dsphere index, 7 maps GeoJSON shapes to an internal representation. The resulting internal representation may be a large array of values.Khi 7 tạo các phím chỉ mục trên một trường giữ một mảng, 7 sẽ tạo khóa chỉ mục cho mỗi phần tử mảng. Đối với các chỉ số hợp chất, 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 đó luôn luôn là 5.If the value of a field returned from a query that is covered by an index is 3, the type of that 3 value is always 5.Các chỉ mục MultiKey IndexMultikey không thể bao gồm các truy vấn trên (các) trường mảng.Multikey indexes cannot cover queries over array field(s). Chỉ số chỉ số không gian địa chỉ không thể bao gồm một truy vấn.Geospatial indexes cannot cover a query. Việc sử dụng bộ nhớ trong Index Builds ____76 hỗ trợ việc xây dựng một hoặc nhiều chỉ mục trên bộ sưu tập. 6 sử dụng kết hợp bộ nhớ và các tệp tạm thời trên đĩa để hoàn thành các bản dựng chỉ mục. Giới hạn mặc định về việc sử dụng bộ nhớ cho 6 là 200 megabyte (cho phiên bản 4.2.3 trở lên) và 500 (cho phiên bản 4.2.2 trở lên), được chia sẻ giữa tất cả các chỉ mục được xây dựng bằng một lệnh 6. Sau khi đạt đến giới hạn bộ nhớ, 6 sử dụng các tệp đĩa tạm thời trong một thư mục con có tên 1 trong thư mục 2 để hoàn thành bản dựng. 6 supports building one or more indexes on a collection. 6 uses a combination of memory and temporary files on disk to complete index builds. The default limit on memory usage for
6 is 200 megabytes (for versions 4.2.3 and later) and 500 (for versions 4.2.2 and earlier), shared between all indexes built using a single 6 command. Once the memory limit is reached,
6 uses temporary disk files in a subdirectory named 1 within the 2 directory to complete the build.Bạn có thể ghi đè giới hạn bộ nhớ bằng cách đặt tham số máy chủ 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ủ.Đã thay đổi trong phiên bản 4.2.
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 3Mộ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 3MẹoĐể 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:
MẹoĐể tạo một chỉ mục 8, 9 hoặc 0 trên bộ sưu tập có đối chiếu không đơn giản, bạn phải chỉ định rõ ràng 1 khi tạo chỉ mục.Hidden Indexesyou không thể ẩn chỉ mục 0.
You can sort on a maximum of 32 keys. 5 của ____ 94, giá trị phải nhỏ hơn 2 31 tài liệu.If you specify the maximum number of documents in a capped collection with 4's 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. 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 6 hoặc 7) MongoDB sẽ tạo ra một oplog không lớn hơn 50 gigabyte. [1]If you do not explicitly specify an oplog size (i.e. with 6 or 7) MongoDB will create an oplog that is no larger than 50 gigabytes. [1]Các cụm Sharded có các hạn chế và ngưỡng được mô tả ở đây. 9 từ hàm 8. Đây là không phổ biến trong các bộ sưu tập không có vỏ. 8 does not permit references to the 9 object from the 8 function. This is uncommon in un-sharded collections.Lệnh 01 không được hỗ trợ trong môi trường bị che khuất.Trong MongoDB 5.0 trở lên, bạn không thể chỉ định các bộ sưu tập Sharded trong tham số 02 của các giai đoạn 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 04 nếu chỉ mục không chứa phím Shard.Starting in MongoDB 3.0, an index cannot cover a query on a sharded collection when run against a 04 if the index does not contain the shard key.Trong các phiên bản trước, 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ọngNhữ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.
Ghi chúKích thước tài liệu BSON tối đa là 16MB hoặc 06 byte.Tất cả các chuyển đổi nên sử dụng thang đo Base-2, ví dụ: 1024 kilobyte = 1 megabyte. Nếu 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:
All 08 and 09 operations for a sharded collection that specify the 10 or 11 option must include the shard key
or the 0 field in the query specification.32 TB Các hoạt động sửa đổi tài liệu duy nhất trong các hoạt động của Bộ sưu tập Sharded 08 và 09 cho một bộ sưu tập Sharded chỉ định tùy chọn 10 hoặc 11 phải bao gồm khóa Shard hoặc trường 0 trong đặc tả truy vấn.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.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. 18 includes the 19 field, which represents the average document size in the collection.Nhìn thấy:
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. Lệnh 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:
Trong MongoDB 4.2 và sớm hơn, để thay đổi phím Shard:
0, hãy lưu ý rằng các giá trị mặc định của các trường 0 là các đối tượng thường tăng các giá trị.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 field, be aware that the default values of 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. 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 24 stage reads all input documents before returning any output documents, blocking the flow of data for that specific query.Nếu MongoDB yêu cầu sử dụng hơn 100 megabyte bộ nhớ hệ thống cho hoạt động sắp xếp chặn, MongoDB trả về lỗi trừ khi truy vấn chỉ định 25 (mới trong MongoDB 4.4). 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ố 27 có kiểm soát xem các giai đoạn đường ống có yêu cầu hơn 100 megabyte bộ nhớ để thực thi các tệp tạm thời để đĩa theo đĩa theo mặc định hay không.Starting in MongoDB 6.0, the 27 parameter controls whether pipeline stages that require more than 100
megabytes of memory to execute write temporary files to disk by default.
Giai đoạn tổng hợp 38 không bị giới hạn ở 100 megabyte RAM vì nó chạy trong một quy trình riêng biệt. 38 aggregation stage is not restricted to 100 megabytes of RAM because it runs in a separate process.Ví dụ về các giai đoạn có thể viết các tệp tạm thời vào đĩa khi abertyDiskuse là 29 là:
Ghi chú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. Nếu kết quả của một trong các giai đoạn đường ống 44 của bạn vượt quá giới hạn, hãy xem xét thêm giai đoạn giới hạn $.Bắt đầu từ MongoDB 4.2, thông báo nhật ký hồ sơ và thông báo nhật ký chẩn đoán bao gồm chỉ báo 47 nếu bất kỳ giai đoạn tổng hợp nào viết dữ liệu vào các tệp tạm thời do hạn chế bộ nhớ.Tập hợp và đọc các quan điểm trong MongoDB 4.2, giai đoạn 48 không thể được sử dụng cùng với lo ngại đọc 49. Đó là, nếu bạn chỉ định 49 Đọc mối quan tâm cho 51, bạn không thể bao gồm giai đoạn 48 trong đường ống.
MẹoTruy vấn không gian địa lý đối với các truy vấn hình cầu, sử dụng kết quả chỉ số 5.For spherical queries, use the 5 index result.Việc sử dụng chỉ số 9 cho các truy vấn hình cầu có thể dẫn đến kết quả không chính xác, chẳng hạn như việc sử dụng chỉ số 9 cho các truy vấn hình cầu bao quanh các cực.Các giá trị kinh độ tọa độ không gian địa lý là giữa 61 và 62, cả hai đều bao gồm.
65 hoặc 66, nếu bạn chỉ định một đa giác một vòng có diện tích lớn hơn một bán cầu duy nhất, bao gồm biểu thức 67; Mặt khác, 65 hoặc 66 Truy vấn cho hình học bổ sung. Đối với tất cả các đa giác Geojson khác với các khu vực lớn hơn bán cầu, 65 hoặc 66 cho hình học bổ sung.For 65 or
66, if you specify a single-ringed polygon that has an area greater than a single hemisphere, include 67 expression; otherwise,
65 or 66 queries for the complementary geometry. For all other GeoJSON polygons with areas greater than a hemisphere,
65 or 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:
Thay đổi trong phiên bản 4.4. Các hoạt động sau đây không được phép trong các giao dịch:
Giao dịch có giới hạn trọn đời theo quy định của 90. Mặc định là 60 giây.Viết lệnh Lệnh giới hạn kích thước 91 ghi được cho phép trong một hoạt động hàng loạt, được xác định bởi một yêu cầu duy nhất cho máy chủ. 91 writes are allowed in a single batch operation, defined by a single request to the server.Đã thay đổi trong phiên bản 3.6: Giới hạn tăng từ 92 lên 91 ghi. Giới hạn này cũng áp dụng cho các tin nhắn Legacy 94.Các hoạt động 95 trong 0 và các phương pháp so sánh trong trình điều khiển không có giới hạn này. 0 and comparable methods in the drivers do not have this limit.ViewSA View Định nghĩa 97 không thể bao gồm giai đoạn 48 hoặc 53. Hạn chế này cũng áp dụng cho các đường ống nhúng, chẳng hạn như các đường ống được sử dụng trong các giai đoạn 03 hoặc 01.A view definition 97 cannot include the 48 or the
53 stage. This restriction also applies to embedded pipelines, such as pipelines used in 03 or
01 stages.Các chế độ xem có các hạn chế hoạt động sau:
New in version 4.4: ________ Hạn chế đường dẫn trường 16-prefixed trong MongoDB 4.4, phép chiếu 02 và 10 không thể chiếu một trường bắt đầu bằng 6 ngoại trừ các trường DBREF. Ví dụ, bắt đầu trong MongoDB 4.4, hoạt động sau đây không hợp lệ: Trong phiên bản trước, MongoDB bỏ qua các dự đoán trường ____ 16-trước .________ 16 Hạn chế vị trí vận hành vị trí trong MongoDB 4.4, toán tử chiếu 6 chỉ có thể xuất hiện ở cuối đường dẫn trường; ví dụ. 15 hoặc ________ 216. Ví dụ, bắt đầu bằng MongoDB 4.4, hoạt động sau đây không hợp lệ: Để giải quyết, hãy loại bỏ thành phần của đường dẫn trường theo toán tử chiếu 6. Trong các phiên bản trước, MongoDB bỏ qua phần của đường dẫn theo 6; tức là phép chiếu được coi là ____ ____ 219.eMpty tên giới hạn chiếu tên trong MongoDB 4.4, 02 và 10 Trình chiếu không thể bao gồm một hình chiếu của một tên trường trống. 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 22 với các tài liệu có chứa trường 23: Bắt đầu từ MongoDB 4.4, thao tác sau không thành công với lỗi 24 vì nó cố gắng chiếu cả tài liệu 23 và trường 26: 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:
05 của một mảng và các trường được nhúng trong MongoDB 4.4, 02 và 10 không thể chứa cả 05 của một mảng và trường được nhúng trong mảng. Ví dụ, hãy xem xét một bộ sưu tập 2 Bắt đầu từ MongoDB 4.4, thao tác sau không thành công với lỗi 24: Trong các phiên bản trước, phép chiếu áp dụng cả hai phép chiếu và trả về phần tử đầu tiên ( 38) trong mảng 36 nhưng triệt tiêu trường 40 trong phần tử dự kiến. Bắt đầu từ MongoDB 4.4, để đạt được kết quả tương tự, sử dụng phương pháp 51 với hai giai đoạn 42 riêng biệt. ________ 16 toán tử vị trí và 05 Hạn chế khởi động trong MongoDB 4.4, 02 và 10 , bắt đầu từ MongoDB 4.4, hoạt động sau đây không hợp lệ: Trong các phiên bản trước, MongoDB trả về phần tử đầu tiên ( 49) trong mảng 36 phù hợp với điều kiện truy vấn; tức là phép chiếu vị trí 19 được ưu tiên và 52 là không có op. 53 không loại trừ bất kỳ trường tài liệu nào khác. 54 (người dùng Kerberos, LDAP hoặc X.509), tên người dùng không thể lớn hơn 10k byte.To use Client Sessions and Causal Consistency Guarantees with 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 56 hoặc 57 lớn hơn 30 phút.Sessions that receive no read or write operations for 30 minutes or that are not refreshed using 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
56 or a 57 greater than 30 minutes.Hãy xem xét một ứng dụng phát hành 58. Máy chủ trả về một con trỏ cùng với một loạt các tài liệu được xác định bởi 59 của 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 61 và định kỳ làm mới phiên bằng lệnh 55. Ví dụ:
Trong hoạt động ví dụ, phương thức 58 được liên kết với một phiên rõ ràng.Con trỏ được cấu hình với 56 để ngăn máy chủ đóng con trỏ nếu không hoạt động.Vòng lặp 65 bao gồm một khối 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. |