Hướng dẫn how many text indexes can a mongodb collection have? - Bộ sưu tập mongodb có thể có bao nhiêu chỉ mục văn bản?

Tài liệu về nhà → Hướng dẫn sử dụng MongoDBMongoDB Manual

MongoDB cung cấp một giải pháp tìm kiếm toàn văn bản, tìm kiếm Atlas MongoDB, cho dữ liệu được lưu trữ trên Atlas MongoDB. Người dùng chạy triển khai MongoDB tự quản lý có quyền truy cập vào khả năng tìm kiếm văn bản tại chỗ.full-text search solution, MongoDB Atlas Search, for data hosted on MongoDB Atlas. Users running self-managed MongoDB deployments have access to on-premises text search capabilities.

Để chạy các truy vấn tìm kiếm văn bản trên triển khai tại chỗ, bạn phải có chỉ mục văn bản trên bộ sưu tập của mình. MongoDB cung cấp các chỉ mục văn bản để hỗ trợ các truy vấn tìm kiếm văn bản trên nội dung chuỗi. Các 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.one text search index, but that index can cover multiple fields.

Xem phần chỉ mục văn bản để biết tham chiếu đầy đủ về các chỉ mục văn bản, bao gồm hành vi, mã thông báo và thuộc tính.

Ví dụ này trình bày cách xây dựng một chỉ mục văn bản và sử dụng nó để tìm các cửa hàng cà phê, chỉ được đưa ra các trường văn bản.

Tạo một bộ sưu tập

db.stores.createIndex( { name: "text", description: "text" } )

2 với các tài liệu sau:

db.stores.insertMany(
[
{ _id: 1, name: "Java Hut", description: "Coffee and cakes" },
{ _id: 2, name: "Burger Buns", description: "Gourmet hamburgers" },
{ _id: 3, name: "Coffee Shop", description: "Just coffee" },
{ _id: 4, name: "Clothes Clothes Clothes", description: "Discount clothing" },
{ _id: 5, name: "Java Shopping", description: "Indonesian goods" }
]
)

Chạy các mục sau trong

db.stores.createIndex( { name: "text", description: "text" } )

3 để cho phép tìm kiếm văn bản trên các trường

db.stores.createIndex( { name: "text", description: "text" } )

4 và

db.stores.createIndex( { name: "text", description: "text" } )

5:

db.stores.createIndex( { name: "text", description: "text" } )

3
to allow text search over the

db.stores.createIndex( { name: "text", description: "text" } )

4 and

db.stores.createIndex( { name: "text", description: "text" } )

5 fields:

db.stores.createIndex( { name: "text", description: "text" } )

Bạn cũng có thể tìm kiếm các cụm từ chính xác bằng cách gói chúng trong các trích dẫn kép. Nếu chuỗi

db.stores.createIndex( { name: "text", description: "text" } )

6 bao gồm một cụm từ và các thuật ngữ riêng lẻ, tìm kiếm văn bản sẽ chỉ khớp các tài liệu bao gồm cụm từ.

Ví dụ: những điều sau đây sẽ tìm thấy tất cả các tài liệu có chứa "quán cà phê":

db.stores.find( { $text: { $search: "\"coffee shop\"" } } )

Để biết thêm thông tin, xem các cụm từ.

Để loại trừ một từ, bạn có thể tạo một ký tự "

db.stores.createIndex( { name: "text", description: "text" } )

7". Ví dụ: để tìm tất cả các cửa hàng có chứa "java" hoặc "cửa hàng" nhưng không phải "cà phê", hãy sử dụng các cửa hàng sau:

db.stores.find( { $text: { $search: "java shop -coffee" } } )

MongoDB sẽ trả về kết quả của nó theo thứ tự chưa được phân loại theo mặc định. Tuy nhiên, các truy vấn tìm kiếm văn bản sẽ tính toán điểm liên quan cho mỗi tài liệu chỉ định mức độ một tài liệu phù hợp với truy vấn.

Để sắp xếp các kết quả theo thứ tự điểm liên quan, bạn phải chiếu rõ ràng trường

db.stores.createIndex( { name: "text", description: "text" } )

8

db.stores.createIndex( { name: "text", description: "text" } )

9 và sắp xếp trên đó:

db.stores.find(
{ $text: { $search: "java coffee shop" } },
{ score: { $meta: "textScore" } }
).sort( { score: { $meta: "textScore" } } )

Tìm kiếm văn bản cũng có sẵn trong đường ống tổng hợp.

Các chỉ mục hỗ trợ thực hiện hiệu quả các truy vấn trong MongoDB. Không có chỉ mục, MongoDB phải thực hiện quét thu thập, tức là quét mọi tài liệu trong một bộ sưu tập, để chọn các tài liệu phù hợp với câu lệnh truy vấn. Nếu một chỉ mục thích hợp tồn tại cho một truy vấn, MongoDB có thể sử dụng chỉ mục để giới hạn số lượng tài liệu mà nó phải kiểm tra.

Các chỉ mục là các cấu trúc dữ liệu đặc biệt [1] lưu trữ một phần nhỏ dữ liệu của bộ sưu tập được đặt ở dạng dễ đi qua. Chỉ mục lưu trữ giá trị của một trường hoặc tập hợp các trường cụ thể, được đặt hàng theo giá trị của trường. Việc đặt hàng của các mục nhập chỉ mục hỗ trợ các phù hợp bình đẳng hiệu quả và các hoạt động truy vấn dựa trên phạm vi. Ngoài ra, MongoDB có thể trả về kết quả được sắp xếp bằng cách sử dụng thứ tự trong chỉ mục.

Sơ đồ sau đây minh họa một truy vấn chọn và đặt hàng các tài liệu phù hợp bằng cách sử dụng chỉ mục:

Về cơ bản, các chỉ mục trong MongoDB tương tự như các chỉ mục trong các hệ thống cơ sở dữ liệu khác. MongoDB xác định các chỉ mục ở cấp độ thu thập và hỗ trợ các chỉ mục trên bất kỳ trường hoặc trường con nào của các tài liệu trong bộ sưu tập MongoDB.

MongoDB tạo ra một chỉ mục duy nhất trên trường _ID trong quá trình tạo ra một bộ sưu tập. Chỉ số

db.stores.find( { $text: { $search: "\"coffee shop\"" } } )

0 ngăn khách hàng chèn hai tài liệu có cùng giá trị cho trường

db.stores.find( { $text: { $search: "\"coffee shop\"" } } )

0. Bạn không thể bỏ chỉ mục này trên trường

db.stores.find( { $text: { $search: "\"coffee shop\"" } } )

0.

Ghi chú

Trong các cụm Sharded, nếu bạn không sử dụng trường

db.stores.find( { $text: { $search: "\"coffee shop\"" } } )

0 làm khóa Shard, thì ứng dụng của bạn phải đảm bảo tính duy nhất của các giá trị trong trường

db.stores.find( { $text: { $search: "\"coffee shop\"" } } )

0 để ngăn ngừa lỗi. Điều này được thực hiện nhiều nhất bằng cách sử dụng một ObjectID tự động tạo tiêu chuẩn.must ensure the uniqueness of the values in the

db.stores.find( { $text: { $search: "\"coffee shop\"" } } )

0 field to prevent errors. This is most-often done by using a standard auto-generated ObjectId.


Sử dụng menu chọn ngôn ngữ của bạn ở phía trên bên phải để đặt ngôn ngữ của các ví dụ trên trang này.Select your language drop-down menu in the upper-right to set the language of the examples on this page.


Tên mặc định cho một chỉ mục là sự kết hợp của các khóa được lập chỉ mục và hướng của mỗi khóa trong chỉ mục (tức là 1 hoặc -1) bằng cách sử dụng dấu gạch dưới làm dấu phân cách. Ví dụ: một chỉ mục được tạo trên

db.stores.find( { $text: { $search: "\"coffee shop\"" } } )

5 có tên

db.stores.find( { $text: { $search: "\"coffee shop\"" } } )

6.

Bạn có thể tạo các chỉ mục với một tên tùy chỉnh, chẳng hạn như tên có thể đọc được nhiều hơn so với mặc định. Ví dụ: hãy xem xét một ứng dụng thường xuyên truy vấn bộ sưu tập

db.stores.find( { $text: { $search: "\"coffee shop\"" } } )

7 để điền dữ liệu về hàng tồn kho hiện có. Phương thức

db.stores.find( { $text: { $search: "\"coffee shop\"" } } )

8 sau đây tạo ra một chỉ mục trên

db.stores.find( { $text: { $search: "\"coffee shop\"" } } )

9 và

db.stores.find( { $text: { $search: "java shop -coffee" } } )

0 có tên

db.stores.find( { $text: { $search: "java shop -coffee" } } )

1:

db.products.createIndex(
{ item: 1, quantity: -1 } ,
{ name: "query for inventory" }
)

Bạn có thể xem tên chỉ mục bằng phương thức

db.stores.find( { $text: { $search: "java shop -coffee" } } )

2. Bạn không thể đổi tên một chỉ mục sau khi được tạo. Thay vào đó, bạn phải bỏ và tạo lại chỉ mục với một tên mới.

MongoDB cung cấp một số loại chỉ mục khác nhau để hỗ trợ các loại dữ liệu và truy vấn cụ thể.

Ngoài chỉ số

db.stores.find( { $text: { $search: "\"coffee shop\"" } } )

0 do MongoDB xác định, MongoDB hỗ trợ việc tạo các chỉ mục tăng dần/giảm dần do người dùng xác định trên một trường của tài liệu.

Hướng dẫn how many text indexes can a mongodb collection have? - Bộ sưu tập mongodb có thể có bao nhiêu chỉ mục văn bản?

Đối với một chỉ số trường và các hoạt động sắp xếp, thứ tự sắp xếp (nghĩa là tăng dần hoặc giảm dần) của khóa chỉ mục không quan trọng vì MongoDB có thể đi qua chỉ số theo một trong hai hướng.

Xem các chỉ mục trường đơn và sắp xếp với một chỉ mục trường để biết thêm thông tin về các chỉ mục trường đơn.

MongoDB cũng hỗ trợ các chỉ mục do người dùng xác định trên nhiều trường, tức là các chỉ mục ghép.

Thứ tự của các trường được liệt kê trong một chỉ số ghép có ý nghĩa. Chẳng hạn, nếu một chỉ số ghép bao gồm

db.stores.find( { $text: { $search: "java shop -coffee" } } )

4, chỉ số sẽ sắp xếp đầu tiên là

db.stores.find( { $text: { $search: "java shop -coffee" } } )

5 và sau đó, trong mỗi giá trị

db.stores.find( { $text: { $search: "java shop -coffee" } } )

5, sắp xếp bằng

db.stores.find( { $text: { $search: "java shop -coffee" } } )

7.

Đối với các chỉ mục hợp chất và các hoạt động sắp xếp, thứ tự sắp xếp (nghĩa là tăng dần hoặc giảm dần) của các khóa chỉ mục có thể xác định xem chỉ mục có thể hỗ trợ hoạt động sắp xếp hay không. Xem thứ tự sắp xếp để biết thêm thông tin về tác động của thứ tự chỉ số đối với kết quả trong các chỉ mục ghép.

Xem thêm:

  • Chỉ số hỗn hợp,

  • Sắp xếp trên nhiều trường và

  • Quy tắc ESR (bình đẳng, sắp xếp, phạm vi)

MongoDB sử dụng các chỉ mục MultiKey để 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 một trường chứa giá trị mảng, MongoDB sẽ tạo các mục chỉ mục riêng cho mọi phần tử của mảng. Các chỉ mục đa năng này cho phép các truy vấn chọn các tài liệu có chứa mảng bằng cách khớp trên phần tử hoặc các phần tử của mảng. MongoDB tự động xác định xem có nên tạo một chỉ mục đa năng hay không nếu trường được lập chỉ mục chứa giá trị mảng; Bạn không cần chỉ định rõ ràng loại đa năng.

Xem các chỉ mục MultiKey và giới hạn chỉ mục MultiKey để biết thêm thông tin về các chỉ mục MultiKey.

Để hỗ trợ các truy vấn hiệu quả của dữ liệu tọa độ không gian địa lý, MongoDB cung cấp hai chỉ mục đặc biệt: Các chỉ mục 2D sử dụng hình học phẳng khi trả về kết quả và các chỉ mục 2DSphere sử dụng hình học hình cầu để trả về kết quả.

Xem

db.stores.find( { $text: { $search: "java shop -coffee" } } )

8 Index Internals để giới thiệu cấp độ cao về các chỉ số không gian địa lý.

MongoDB cung cấp loại chỉ mục

db.stores.find( { $text: { $search: "java shop -coffee" } } )

9 hỗ trợ tìm kiếm nội dung chuỗi trong bộ sưu tập. Các chỉ mục văn bản này không lưu trữ các từ dừng cụ thể về ngôn ngữ (ví dụ: "", "A", "hoặc") và bắt nguồn các từ trong một bộ sưu tập để chỉ lưu trữ các từ gốc.

Xem chỉ mục văn bản để biết thêm thông tin về chỉ mục văn bản và tìm kiếm.

Để hỗ trợ Sharding dựa trên băm, MongoDB cung cấp loại chỉ mục băm, trong đó lập chỉ mục cho băm có giá trị của một trường. Các chỉ mục này có phân phối các giá trị ngẫu nhiên hơn trong phạm vi của chúng, nhưng chỉ hỗ trợ các khớp bình đẳng và không thể hỗ trợ các truy vấn dựa trên phạm vi.

Bắt đầu từ MongoDB 5.3, bạn có thể tạo một bộ sưu tập với một chỉ mục được phân cụm. Các bộ sưu tập được tạo ra với một chỉ mục phân cụm được gọi là các bộ sưu tập phân cụm.

Xem các bộ sưu tập cụm.

Thuộc tính duy nhất cho một chỉ mục khiến MongoDB từ chối các giá trị trùng lặp cho trường được lập chỉ mục. Khác với các ràng buộc duy nhất, các chỉ mục duy nhất có thể thay thế chức năng với các chỉ mục MongoDB khác.

Chỉ mục một phần chỉ lập chỉ mục các tài liệu trong một bộ sưu tập đáp ứng biểu thức bộ lọc được chỉ định. Bằng cách lập chỉ mục một tập hợp con của các tài liệu trong một bộ sưu tập, các chỉ mục một phần có yêu cầu lưu trữ thấp hơn và giảm chi phí hiệu suất để tạo và bảo trì chỉ số.

Các chỉ mục một phần cung cấp một siêu chất của chức năng của các chỉ mục thưa thớt và nên được ưu tiên hơn các chỉ mục thưa thớt.

Thuộc tính thưa thớt của một chỉ mục đảm bảo rằng chỉ mục chỉ chứa các mục cho các tài liệu có trường được lập chỉ mục. Các chỉ số bỏ qua các tài liệu không có trường được lập chỉ mục.

Bạn có thể kết hợp tùy chọn chỉ mục thưa thớt với tùy chọn chỉ mục duy nhất để ngăn chặn các tài liệu có giá trị trùng lặp cho (các) trường được lập chỉ mục và bỏ qua các tài liệu lập chỉ mục thiếu (các) trường được lập chỉ mục.

Các chỉ mục TTL là các chỉ mục đặc biệt mà MongoDB có thể sử dụng để tự động xóa tài liệu khỏi bộ sưu tập sau một khoảng thời gian nhất định. Điều này là lý tưởng cho một số loại thông tin nhất định như dữ liệu sự kiện được tạo ra bằng máy, nhật ký và thông tin phiên chỉ cần tồn tại trong cơ sở dữ liệu trong một khoảng thời gian hữu hạn.

Xem: Hết liệu dữ liệu từ các bộ sưu tập bằng cách đặt TTL cho các hướng dẫn triển khai.

Mới trong phiên bản 4.4.

Các chỉ mục ẩn không hiển thị cho trình lập kế hoạch truy vấn và không thể được sử dụng để hỗ trợ truy vấn.

Bằng cách che giấu một chỉ mục từ người lập kế hoạch, người dùng có thể đánh giá tác động tiềm năng của việc bỏ một chỉ mục mà không thực sự bỏ chỉ mục. Nếu tác động là tiêu cực, người dùng có thể bỏ chỉ mục thay vì phải tạo lại một chỉ mục bị rơi. Và bởi vì các chỉ mục được duy trì hoàn toàn trong khi ẩn, các chỉ mục ngay lập tức có sẵn để sử dụng một khi chưa từng thấy.

Ngoại trừ chỉ mục

db.stores.find( { $text: { $search: "\"coffee shop\"" } } )

0, bạn có thể ẩn bất kỳ chỉ mục nào.

Các chỉ mục có thể cải thiện hiệu quả của các hoạt động đọc. Hướng dẫn hiệu suất truy vấn phân tích cung cấp một ví dụ về số liệu thống kê thực thi của truy vấn có và không có chỉ mục.

Để biết thông tin về cách MongoDB chọn một chỉ mục để sử dụng, hãy xem Trình tối ưu hóa truy vấn.

Đối chiếu cho phép người dùng chỉ định các quy tắc cụ thể về ngôn ngữ để so sánh chuỗi, chẳng hạn như các quy tắc cho Lettercase và Dấu nhấn.

Để sử dụng một chỉ mục để so sánh chuỗi, một thao tác cũng phải chỉ định cùng một đối chiếu. Đó là, một chỉ mục với một đối chiếu không thể hỗ trợ một thao tác thực hiện so sánh chuỗi trên các trường được lập chỉ mục nếu thao tác chỉ định một đối chiếu khác.

Ví dụ: Bộ sưu tập

db.stores.find(
{ $text: { $search: "java coffee shop" } },
{ score: { $meta: "textScore" } }
).sort( { score: { $meta: "textScore" } } )
1 có một chỉ mục trên trường chuỗi
db.stores.find(
{ $text: { $search: "java coffee shop" } },
{ score: { $meta: "textScore" } }
).sort( { score: { $meta: "textScore" } } )
2 với locale đối chiếu
db.stores.find(
{ $text: { $search: "java coffee shop" } },
{ score: { $meta: "textScore" } }
).sort( { score: { $meta: "textScore" } } )
3.

db.myColl.createIndex( { category: 1 }, { collation: { locale: "fr" } } )

Hoạt động truy vấn sau, chỉ định đối chiếu giống như chỉ mục, có thể sử dụng chỉ mục:

db.myColl.find( { category: "cafe" } ).collation( { locale: "fr" } )

Tuy nhiên, thao tác truy vấn sau, theo mặc định sử dụng bộ ghép nhị phân "đơn giản", không thể sử dụng chỉ mục:

db.myColl.find( { category: "cafe" } )

Đối với một chỉ số ghép trong đó các khóa tiền tố chỉ mục không phải là chuỗi, mảng và tài liệu nhúng, một hoạt động chỉ định một đối chiếu khác vẫn có thể sử dụng chỉ mục để hỗ trợ so sánh trên các phím tiền tố chỉ mục.

Ví dụ: Bộ sưu tập

db.stores.find(
{ $text: { $search: "java coffee shop" } },
{ score: { $meta: "textScore" } }
).sort( { score: { $meta: "textScore" } } )
1 có chỉ số hợp chất trên các trường số

db.stores.find( { $text: { $search: "java shop -coffee" } } )

7 và
db.stores.find(
{ $text: { $search: "java coffee shop" } },
{ score: { $meta: "textScore" } }
).sort( { score: { $meta: "textScore" } } )
6 và trường chuỗi
db.stores.find(
{ $text: { $search: "java coffee shop" } },
{ score: { $meta: "textScore" } }
).sort( { score: { $meta: "textScore" } } )
2; Chỉ mục được tạo với locale đối chiếu
db.stores.find(
{ $text: { $search: "java coffee shop" } },
{ score: { $meta: "textScore" } }
).sort( { score: { $meta: "textScore" } } )
3 để so sánh chuỗi:

db.myColl.createIndex(
{ score: 1, price: 1, category: 1 },
{ collation: { locale: "fr" } } )

Các hoạt động sau, sử dụng đối chiếu nhị phân

db.stores.find(
{ $text: { $search: "java coffee shop" } },
{ score: { $meta: "textScore" } }
).sort( { score: { $meta: "textScore" } } )
9 để so sánh chuỗi, có thể sử dụng chỉ mục:

db.stores.createIndex( { name: "text", description: "text" } )

0

Hoạt động sau, sử dụng đối chiếu nhị phân

db.stores.find(
{ $text: { $search: "java coffee shop" } },
{ score: { $meta: "textScore" } }
).sort( { score: { $meta: "textScore" } } )
9 để so sánh chuỗi trên trường
db.stores.find(
{ $text: { $search: "java coffee shop" } },
{ score: { $meta: "textScore" } }
).sort( { score: { $meta: "textScore" } } )
2 được lập chỉ mục, có thể sử dụng chỉ mục để chỉ thực hiện phần
db.products.createIndex(
{ item: 1, quantity: -1 } ,
{ name: "query for inventory" }
)
2 của truy vấn:

db.stores.createIndex( { name: "text", description: "text" } )

1

Để biết thêm thông tin về đối chiếu, xem trang tham chiếu đối chiếu.

Các chỉ mục sau đây chỉ hỗ trợ so sánh nhị phân đơn giản và không hỗ trợ đối chiếu:

  • chỉ mục văn bản,

  • Chỉ số 2D và

  • GEOHAYSTACK INDEXES.

Khi các tiêu chí truy vấn và dự báo của một truy vấn chỉ bao gồm các trường được lập chỉ mục, MongoDB trả về kết quả trực tiếp từ chỉ mục mà không quét bất kỳ tài liệu nào hoặc đưa tài liệu vào bộ nhớ. Những truy vấn được bảo hiểm có thể rất hiệu quả.

Để biết thêm thông tin về các truy vấn được bảo hiểm, xem truy vấn được bảo hiểm.

MongoDB có thể sử dụng giao điểm của các chỉ mục để thực hiện các truy vấn. Đối với các truy vấn chỉ định các điều kiện truy vấn hợp chất, nếu một chỉ mục có thể thực hiện một phần của điều kiện truy vấn và một chỉ số khác có thể thực hiện một phần khác của điều kiện truy vấn, thì MongoDB có thể sử dụng giao điểm của hai chỉ mục để thực hiện truy vấn. Việc sử dụng chỉ số ghép hoặc việc sử dụng giao điểm chỉ mục có hiệu quả hơn hay không tùy thuộc vào truy vấn cụ thể và hệ thống.

Để biết chi tiết về giao lộ chỉ mục, xem Index Intersection.

Một số hạn chế nhất định áp dụng cho các chỉ mục, chẳng hạn như độ dài của các khóa chỉ mục hoặc số lượng chỉ mục trên mỗi bộ sưu tập. Xem giới hạn chỉ mục để biết chi tiết.

Mặc dù các chỉ mục có thể cải thiện hiệu suất truy vấn, các chỉ mục cũng trình bày một số cân nhắc hoạt động. Xem các cân nhắc hoạt động cho các chỉ mục để biết thêm thông tin.

Các ứng dụng có thể gặp phải hiệu suất giảm trong quá trình xây dựng chỉ mục, bao gồm truy cập đọc/ghi hạn chế vào bộ sưu tập. Để biết thêm thông tin về quy trình xây dựng chỉ mục, hãy xem các bản dựng chỉ mục trên các bộ sưu tập đông dân cư, bao gồm các bản dựng chỉ mục trong phần môi trường được sao chép.

Một số trình điều khiển có thể chỉ định các chỉ mục, sử dụng

db.products.createIndex(
{ item: 1, quantity: -1 } ,
{ name: "query for inventory" }
)
3 thay vì
db.products.createIndex(
{ item: 1, quantity: -1 } ,
{ name: "query for inventory" }
)
4 làm đặc điểm kỹ thuật. Điều này không có bất kỳ ảnh hưởng đến chỉ số kết quả.

Có bao nhiêu chỉ mục có thể được tạo trên một bộ sưu tập MongoDB?

Một bộ sưu tập không thể có 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ỉ số ghép có thể có tối đa 31 trường được lập chỉ mục.. The length of the index name cannot be longer than 125 characters. A compound index can have maximum 31 fields indexed.

MongoDB có thể có nhiều chỉ mục?

MongoDB có thể sử dụng giao điểm của nhiều chỉ mục để thực hiện các truy vấn.Nói chung, mỗi giao điểm chỉ số liên quan đến hai chỉ số;Tuy nhiên, MongoDB có thể sử dụng các giao điểm chỉ số nhiều/lồng nhau để giải quyết một truy vấn.. In general, each index intersection involves two indexes; however, MongoDB can employ multiple/nested index intersections to resolve a query.

Chúng ta có thể tạo nhiều chỉ mục trên cùng một bộ sưu tập trong MongoDB không?

Nhiều tùy chọn chỉ mục có thể được chỉ định trong cùng một tài liệu.Tuy nhiên, nếu bạn chỉ định nhiều tài liệu tùy chọn DB.thu thập.Hoạt động created Indexes () sẽ thất bại.. However, if you specify multiple option documents the db. collection. createIndexes() operation will fail.

Kích thước tối đa của giới hạn khóa chỉ mục và số lượng chỉ mục trên mỗi bộ sưu tập là bao nhiêu?

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.Một bộ sưu tập duy nhất có thể có không quá 64 chỉ mục.A single collection can have no more than 64 indexes.