Độ dài tên chỉ mục Mongodb
Vì tên cơ sở dữ liệu không phân biệt chữ hoa chữ thường trong MongoDB, nên tên cơ sở dữ liệu không thể chỉ khác nhau về chữ hoa chữ thường Show Đối với triển khai MongoDB chạy trên Windows, tên cơ sở dữ liệu không được chứa bất kỳ ký tự nào sau đây /\. "$*<>:|? Ngoài ra, tên cơ sở dữ liệu không thể chứa ký tự null Hạn chế về tên cơ sở dữ liệu cho hệ thống Unix và Linux¶Đối với triển khai MongoDB chạy trên hệ thống Unix và Linux, tên cơ sở dữ liệu không được chứa bất kỳ ký tự nào sau đây /\. "$ Ngoài ra, tên cơ sở dữ liệu không thể chứa ký tự null Độ dài của tên cơ sở dữ liệu¶Tên cơ sở dữ liệu không được để trống và phải có ít hơn 64 ký tự Hạn chế về tên bộ sưu tập¶Tên bộ sưu tập phải bắt đầu bằng dấu gạch dưới hoặc ký tự chữ cái và không được
Nếu tên bộ sưu tập của bạn bao gồm các ký tự đặc biệt, chẳng hạn như ký tự gạch dưới, thì để truy cập bộ sưu tập, hãy sử dụng db. getCollection() trong shell mongo hoặc một phương thức tương tự cho trình điều khiển của bạn. Độ dài tối đa của không gian tên bộ sưu tập, bao gồm tên cơ sở dữ liệu, dấu chấm ( . ) dấu tách và tên bộ sưu tập (i. e. Tên trường không được chứa dấu chấm (i. e. . ) hoặc ký tự rỗng, và chúng không được bắt đầu bằng ký hiệu đô la (i. e. $ ). See /faq/diagnostics 更多关于MongoDB内存使用的问题。 for an alternate approach. Không gian tên¶Độ dài không gian tên¶Độ dài tối đa của không gian tên bộ sưu tập, bao gồm tên cơ sở dữ liệu, dấu chấm ( . ) dấu tách và tên bộ sưu tập (i. e. 参见 Hạn chế đặt tên Số lượng không gian tên¶在 3. 0 版更改 Đối với MMAPv1, số lượng không gian tên được giới hạn ở kích thước của tệp không gian tên chia cho 628 Tệp không gian tên 16 megabyte có thể hỗ trợ khoảng 24.000 không gian tên. Mỗi bộ sưu tập và chỉ mục là một không gian tên Công cụ lưu trữ WiredTiger không tuân theo giới hạn này Kích thước của tệp không gian tên¶在 3. 0 版更改 Đối với công cụ lưu trữ MMAPv1, các tệp không gian tên không được lớn hơn 2047 megabyte Theo mặc định, các tệp không gian tên là 16 megabyte. Bạn có thể định cấu hình kích thước bằng tùy chọn nsSize . Công cụ lưu trữ WiredTiger không tuân theo giới hạn này 参见 Hạn chế đặt tên Chỉ mục¶Giới hạn khóa chỉ mục¶Tổng kích thước của mục nhập chỉ mục, 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 在 2. 6 版更改. MongoDB phiên bản 2. 6 trở lên triển khai thực thi mạnh mẽ hơn giới hạn trên chỉ mục khóa .
Một bộ sưu tập có thể có không quá 64 chỉ mục Tên chỉ mục Độ dài¶Tên chỉ mục đủ điều kiện, bao gồm không gian tên và dấu phân cách dấu chấm (i. e. Theo mặc định, Không thể có nhiều hơn 31 trường trong một chỉ mục phức hợp Truy vấn không thể sử dụng cả chỉ mục văn bản và chỉ mục không gian địa lý¶Bạn không thể kết hợp truy vấn $text , yêu cầu một chỉ mục văn bản đặc biệt, với một toán tử truy vấn yêu cầu một loại chỉ mục đặc biệt khác. Ví dụ: bạn không thể kết hợp truy vấn $text với toán tử $near . Các trường có Chỉ mục 2dsphere chỉ có thể chứa Hình học¶Các trường có chỉ mục 2dsphere phải chứa dữ liệu hình học ở dạng 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 có dữ liệu phi hình học vào một 2dsphere trường được lập chỉ mục hoặc xây dựng một 2dsphere< . index on a collection where the indexed field has non-geometry data, the operation will fail. 参见 Giới hạn chỉ mục duy nhất trong Sharding Hạn chế hoạt động Các giá trị NaN được Công cụ lưu trữ WiredTiger trả về từ Truy vấn được bảo hiểm luôn thuộc loại double¶Nếu giá trị của một trường được trả về từ một truy vấn nằm trong một chỉ mục là NaN , loại của giá trị đó NaN value is always double. Chỉ mục đa phím¶Chỉ mục đa khóa không thể hỗ trợ truy vấn được bảo hiểm Dữ liệu¶Số lượng tài liệu tối đa trong một bộ sưu tập giới hạn¶在 2. 4 版更改 Nếu bạn chỉ định số lượng tài liệu tối đa cho một bộ sưu tập giới hạn bằng cách sử dụng tham số max để tạo . 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, sẽ không có giới hạn về số lượng tài liệu. , the limit must be less than 232 documents. If you do not specify a maximum number of documents when creating a capped collection, there is no limit on the number of documents. Kích thước cơ sở dữ liệu¶Công cụ lưu trữ MMAPv1 giới hạn mỗi cơ sở dữ liệu không quá 16000 tệp dữ liệu. Điều này có nghĩa là một cơ sở dữ liệu MMAPv1 duy nhất có kích thước tối đa là 32TB. Đặt bộ nhớ. mmapv1. smallFiles tùy chọn giảm giới hạn này xuống còn 8TB. Kích thước dữ liệu¶在 3. 0 版更改 Khi sử dụng công cụ lưu trữ MMAPv1, một phiên bản mongod đơn lẻ không thể quản lý tập dữ liệu vượt quá không gian địa chỉ bộ nhớ ảo tối đa do hệ điều hành cơ sở cung cấp . Giới hạn bộ nhớ ảoHệ điều hànhJournaledNot JournaledLinux64 terabyte128 terabyteWindows Server 2012 R2 và Windows 8. 164 terabyte128 terabyteWindows (nếu không)4 terabyte8 terabyteCông cụ lưu trữ WiredTiger không tuân theo giới hạn này Số lượng Bộ sưu tập trong Cơ sở dữ liệu¶在 3. 0 版更改 Đối với công cụ lưu trữ MMAPv1, số lượng bộ sưu tập tối đa trong cơ sở dữ liệu là một hàm của kích thước của tệp không gian tên và số lượng chỉ mục của các bộ sưu tập trong cơ sở dữ liệu Công cụ lưu trữ WiredTiger không tuân theo giới hạn này Xem Số của Không gian tên để biết thêm thông tin. Bộ bản sao¶Số thành viên của một bộ bản sao¶在 3. 0. 0 版更改 Bộ bản sao có thể có tối đa 50 thành viên. Xem Số lượng Thành viên Bộ Bản sao Tăng lên để biết thêm thông tin về khả năng tương thích của trình điều khiển cụ thể với các bộ bản sao lớn Số thành viên biểu quyết của một bộ bản sao¶Bộ bản sao có thể có tối đa 7 thành viên biểu quyết. For replica sets with more than 7 total members, see 当 优先级为0的节点 是复制集中可用节点中数据最新的节点。这种情况下,另一个复制集中合格的节点将会追上该节点的数据并尝试升职为主节点。 Kích thước tối đa của Oplog được tạo tự động¶在 2. 6 版更改 Nếu bạn không chỉ định rõ ràng kích thước oplog (i. e. với oplogSizeMB hoặc --oplogSize) MongoDB sẽ tạo một oplog không lớn hơn 50 gigabyte. Cụm phân mảnh¶Các cụm được chia nhỏ có các hạn chế và ngưỡng được mô tả tại đây Sharding Hạn chế hoạt động¶Hoạt động không khả dụng trong môi trường phân đoạn¶Nhóm group không hoạt động với phân đoạn. Thay vào đó, hãy sử dụng mapReduce hoặc tổng hợp . 3. 0 版后已移除. db. eval() không được dùng nữa. db. eval() không tương thích với các bộ sưu tập được phân đoạn. Bạn có thể sử dụng db. eval() với các bộ sưu tập chưa được phân đoạn trong cụm phân đoạn. $where không cho phép tham chiếu đến đối tượng db từ $where function. This is uncommon in un-sharded collections. Công cụ sửa đổi cập nhật $isolated không hoạt động trong môi trường sharded. $snapshot không hoạt động trong môi trường phân đoạn. Lệnh geoSearch không được hỗ trợ trong môi trường phân đoạn. Các truy vấn được bảo hiểm trong các cụm phân mảnh¶Chỉ mục không thể bao gồm truy vấn trên bộ sưu tập được phân đoạn khi chạy với mongos nếu chỉ mục không chứa khóa phân đoạn, với . Nếu một truy vấn trên một bộ sưu tập được phân đoạn chỉ xác định một điều kiện trên trường _id index: If a query on a sharded collection only specifies a condition on the _id và chỉ trả về _id field, the _id index can cover the query when run against a mongos even if the _id field is not the shard key. 在 3. 0 版更改. Trong các phiên bản trước, chỉ mục không thể bao gồm truy vấn trên bộ sưu tập được phân đoạn khi chạy với mongos . Sharding Kích thước dữ liệu bộ sưu tập hiện tại¶Một bộ sưu tập hiện có 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 phân đoạn và kích thước khối được định cấu hình 重要 Các giới hạn này chỉ áp dụng cho hoạt động phân mảnh ban đầu. Bộ sưu tập được phân mảnh có thể phát triển đến bất kỳ kích thước nào sau khi kích hoạt thành công phân đoạn Sử dụng các công thức sau để tính kích thước bộ sưu tập tối đa theo lý thuyết maxSplits = 16777216 (bytes) / <average size of shard key values in bytes> maxCollectionSize (MB) = maxSplits * (chunkSize / 2) 注解 Kích thước tài liệu BSON tối đa là 16MB hoặc 16777216 byte. Tất cả các chuyển đổi nên sử dụng tỷ lệ cơ sở 2, e. g. 1024 kilobyte = 1 megabyte Nếu maxCollectionSize nhỏ hơn hoặc gần bằng với tập hợp mục tiêu, hãy tăng kích thước khối để đảm bảo phân đoạn ban đầu thành công. Nếu có nghi ngờ về việc liệu kết quả tính toán có quá 'gần' với kích thước bộ sưu tập mục tiêu hay không, tốt hơn là nên tăng kích thước khối. Sau khi phân mảnh ban đầu thành công, bạn có thể giảm kích thước khối nếu cần. Nếu sau này bạn giảm kích thước khối, có thể mất thời gian để tất cả các khối chia thành kích thước mới. See 修改集群中数据块的大小 for instructions on modifying chunk size Bảng này minh họa 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 Giá trị khóa phân đoạn512 byte256 byte128 byte64 byteSố lần phân tách tối đa32,76865,536131,072262,144Kích thước bộ sưu tập tối đa (Kích thước khối 64 MB)1 TB2 TB4 TB8 TBKích thước bộ sưu tập tối đa (Kích thước khối 128 MB)2 TB4 TB8 TB16 TBKích thước bộ sưu tập tối đa (Tất cả các thao tác update() và remove() . _id field in the query specification. cập nhật() và xóa() mà không cần phím phân đoạn hoặc . _id field return an error. Chỉ mục duy nhất trong Bộ sưu tập phân đoạn¶MongoDB không hỗ trợ các chỉ mục duy nhất trên các phân đoạn, ngoại trừ khi chỉ mục duy nhất chứa khóa phân đoạn đầy đủ làm tiền tố của chỉ mục. Trong những tình huống này, MongoDB sẽ thực thi tính duy nhất trên toàn bộ khóa, không phải một trường duy nhất Nhìn thấy Các ràng buộc duy nhất trên các trường tùy ý cho một cách tiếp cận khác Số lượng tài liệu tối đa trên mỗi đoạn để di chuyển¶MongoDB không thể di chuyển một đoạn nếu số lượng tài liệu trong đoạn vượt quá 250000 tài liệu hoặc 1. gấp 3 lần kết quả của việc chia kích thước khối được định cấu hình cho kích thước tài liệu trung bình. db. thu thập. stats() bao gồm trường avgObjSize , đại diện cho kích thước tài liệu trung bình trong bộ sưu tập. Hạn chế của khóa Shard¶Kích thước khóa mảnh¶Khóa phân đoạn không thể vượt quá 512 byte Loại chỉ mục khóa phân mảnh¶Chỉ mục khóa phân đoạn có thể là chỉ mục tăng dần trên khóa phân đoạn, chỉ mục tổng hợp bắt đầu bằng khóa phân đoạn và chỉ định thứ tự tăng dần cho khóa phân đoạn hoặc chỉ mục băm Chỉ mục khóa phân đoạn không thể là chỉ mục chỉ định chỉ mục đa khóa, chỉ mục văn bản hoặc chỉ mục không gian địa lý trên các trường khóa phân đoạn Shard Key là bất biến¶Nếu bạn phải thay đổi khóa phân đoạn
Sau khi bạn phân đoạn một bộ sưu tập, khóa phân đoạn và các giá trị của khóa phân đoạn là không thay đổi; . e
Đối với các cụm có khối lượng chèn cao, một phím phân đoạn có các phím tăng và giảm đơn điệu có thể ảnh hưởng đến thông lượng chèn. Nếu khóa phân đoạn của bạn là trường _id , hãy lưu ý rằng các giá trị mặc định của _id fields are ObjectIds which have generally increasing values. Khi chèn tài liệu bằng các phím phân đoạn tăng dần đơn điệu, tất cả các phần chèn đều thuộc về cùng một đoạn trên một phân đoạn duy nhất. Hệ thống cuối cùng sẽ phân chia phạm vi khối nhận tất cả các thao tác ghi và di chuyển nội dung của nó để phân phối dữ liệu đồng đều hơn. Tuy nhiên, tại bất kỳ thời điểm nào, cụm chỉ hướng các hoạt động chèn vào một phân đoạn duy nhất, điều này tạo ra tắc nghẽn thông lượng chèn Nếu các hoạt động trên cụm chủ yếu là hoạt động đọc 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 phân đoạn được băm hoặc chọn trường không tăng hoặc giảm đơn điệu 在 2. 4 版更改. Khóa phân đoạn đã băm và chỉ mục đã băm lưu trữ giá trị băm của khóa có giá trị tăng dần. Vận hành¶Thao tác sắp xếp¶Nếu MongoDB không thể sử dụng chỉ mục để lấy tài liệu theo thứ tự sắp xếp được yêu cầu, kích thước tổng hợp của tất cả tài liệu trong thao tác sắp xếp, cộng với chi phí nhỏ, phải nhỏ hơn 32 megabyte Vận hành đường ống tổng hợp¶在 2. 6 版更改 Giai đoạn quy trình có giới hạn là 100 megabyte RAM. Nếu một giai đoạn vượt quá giới hạn này, MongoDB sẽ tạo ra lỗi. Để cho phép xử lý các tập dữ liệu lớn, hãy sử dụng tùy chọn allowDiskUse để bật các giai đoạn quy trình tổng hợp nhằm ghi dữ liệu vào các tệp tạm thời. 参见 $sort và Hạn chế bộ nhớ và $group Toán tử và bộ nhớ Truy vấn không gian địa lý 2d không thể sử dụng toán tử $or¶Nhìn thấy $or and 2d 索引原理. Diện tích Đa giác GeoJSON¶Đối với $geoIntersects hoặc $geoWithin , nếu bạn . Đối với tất cả các đa giác GeoJSON khác có diện tích lớn hơn bán cầu, the custom MongoDB coordinate reference system in the $geometry expression; otherwise, $geoIntersects or $geoWithin queries for the complementary geometry. For all other GeoJSON polygons with areas greater than a hemisphere, $geoIntersects hoặc $geoWithin queries for the complementary geometry. Viết lệnh Kích thước giới hạn thao tác¶Các lệnh ghi chỉ có thể chấp nhận không quá 1000 thao tác. Các thao tác Bulk() trong mongo shell và các phương thức có thể so sánh được trong . Lượt xem¶Ngoài việc chỉ đọc, các dạng xem có các hạn chế hoạt động sau
← Thông số máy chủ MongoDB Giải thích kết quả → © MongoDB, Inc 2008-2017. MongoDB, Mongo và logo chiếc lá là các nhãn hiệu đã đăng ký của MongoDB, Inc Tổng kích thước chỉ mục trong MongoDB là gì?Một bộ sưu tập không được có nhiều hơn 64 chỉ mục . Độ dài của tên chỉ mục không thể dài hơn 125 ký tự. Một chỉ mục phức hợp có thể có tối đa 31 trường được lập chỉ mục.
Giới hạn khóa của chỉ mục MongoDB là gì?indexMaxNumGeneratedKeysPerDocument giới hạn số lượng khóa tối đa được tạo cho một tài liệu để tránh lỗi hết bộ nhớ. Giá trị mặc định là 100000 khóa chỉ mục cho mỗi tài liệu .
MongoDB chọn chỉ mục như thế nào?MongoDB sử dụng các chỉ mục đa khóa để lập chỉ mục nội dung được lưu trữ trong các mảng. Nếu bạn lập chỉ mục cho một trường chứa giá trị mảng, MongoDB sẽ tạo các mục nhập chỉ mục riêng cho mọi phần tử của mảng. Các chỉ mục đa khóa này cho phép các truy vấn chọn tài liệu có chứa mảng bằng cách so khớp trên phần tử hoặc các phần tử của mảng.
Chỉ mục văn bản trong MongoDB là gì?MongoDB cung cấp chỉ mục văn bản để hỗ trợ truy vấn tìm kiếm văn bản trên nội dung chuỗi . Chỉ mục văn bản có thể bao gồm bất kỳ trường nào có giá trị là một chuỗi hoặc một mảng các phần tử chuỗi. Một bộ sưu tập chỉ có thể có một chỉ mục tìm kiếm văn bản, nhưng chỉ mục đó có thể bao gồm nhiều trường. |