Sử dụng db.system.indexes và tìm kiếm trên đó.db.system.indexes and search on it.
Ví dụ, nếu bạn có một chỉ mục gọi là 'indexName', bạn có thể tìm kiếm nó như thế này:
db.system.indexes.find[{'name':'indexname'}];
Nếu bạn cần tìm kiếm chỉ mục đó trên một bộ sưu tập cụ thể, thì bạn cần sử dụng thuộc tính NS [và, sẽ rất hữu ích khi có tên DB].
db.system.indexes.find[{'name':'indexname', 'ns':'dbname.collection'}];
Hoặc, nếu bạn hoàn toàn ghét bao gồm cả tên DB ...
db.system.indexes.find[{'name':'indexname', 'ns': {$regex:'.collection$'}}];
Kéo nó lại với nhau ...
Vì vậy, bạn đã hoàn thành kiểm tra sẽ là:
if[db.system.indexes.find[{name:'indexname',ns:{$regex:'.collection$'}}].count[]==0] {
db.collection.createIndex[{blah:1},{name:'indexname'}]
}
Tùy chọn "thưa thớt" có thể được sử dụng để khắc phục điều này, vì nó sẽ ngăn các tài liệu mà không cần trường được lập chỉ mục. Chỉ định đúng để tạo một chỉ mục thưa thớt, chỉ chỉ các chỉ mục các tài liệu chứa một trường được chỉ định. Giá trị mặc định là sai. → MongoDB Manual
if[db.system.indexes.find[{name:'indexname',ns:{$regex:'.collection$'}}].count[]==0] {
db.collection.createIndex[{blah:1},{name:'indexname'}]
}
7Tài liệu về nhà → Hướng dẫn sử dụng MongoDB
Quan trọng
Phương pháp Mongosh
8 method. This is not the documentation for database commands or language-specific drivers, such as Node.js. To use the database command, see the if[db.system.indexes.find[{name:'indexname',ns:{$regex:'.collection$'}}].count[]==0] {
db.collection.createIndex[{blah:1},{name:'indexname'}]
}
if[db.system.indexes.find[{name:'indexname',ns:{$regex:'.collection$'}}].count[]==0] {
db.collection.createIndex[{blah:1},{name:'indexname'}]
}
9 command.Trang này ghi lại một phương thức
if[db.system.indexes.find[{name:'indexname',ns:{$regex:'.collection$'}}].count[]==0] {
db.collection.createIndex[{blah:1},{name:'indexname'}]
}
8. Đây không phải là tài liệu cho các lệnh cơ sở dữ liệu hoặc trình điều khiển dành riêng cho ngôn ngữ, chẳng hạn như Node.js. Để sử dụng lệnh cơ sở dữ liệu, hãy xem lệnh if[db.system.indexes.find[{name:'indexname',ns:{$regex:'.collection$'}}].count[]==0] {
db.collection.createIndex[{blah:1},{name:'indexname'}]
}
9.MongoDB driver documentation.Đối với trình điều khiển API MongoDB, hãy tham khảo tài liệu trình điều khiển MongoDB dành riêng cho ngôn ngữ.
Đối với tài liệu Shell Legacy
0, hãy tham khảo tài liệu để phát hành máy chủ MongoDB tương ứng:{ "wildcardProjection" : { "_id" : 1, "" : 0|1 } } Mongo Shell v4.4
Mongo Shell v4.2
Tạo chỉ mục trên các bộ sưu tập.
Để giảm thiểu tác động của việc xây dựng một chỉ mục trên các bộ bản sao và các cụm được che phủ, 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ỉ số cuộn trên các bộ bản sao. takes the following parameters:
{ |
"wildcardProjection" : { |
"_id" : 1, |
"" : 0|1 |
} |
} |
Tham số
Loại hình
2{ "wildcardProjection" : { "_id" : 1, "" : 0|1 } }
Sự mô tả
tài liệu
MongoDB hỗ trợ một số loại chỉ số khác nhau bao gồm các chỉ mục văn bản, không gian địa lý và băm. Xem các loại chỉ mục để biết thêm thông tin.
Đã thay đổi trong phiên bản 4.2: MongoDB 4.2 Các chỉ mục ký tự đại diện hỗ trợ khối lượng công việc trong đó người dùng truy vấn chống lại các trường tùy chỉnh hoặc nhiều trường lớn trong một bộ sưu tập:
Để tạo chỉ mục ký tự đại diện trên tất cả các trường và trường con trong tài liệu, hãy chỉ định
6 làm khóa chỉ mục. Bạn không thể chỉ định khóa chỉ mục giảm dần khi tạo chỉ mục ký tự đại diện.{ "wildcardProjection" : { "_id" : 1, "" : 0|1 } } Bạn cũng có thể bao gồm hoặc loại trừ các trường cụ thể và các trường con của chúng khỏi chỉ mục bằng tham số
7 tùy chọn.{ "wildcardProjection" : { "_id" : 1, "" : 0|1 } } Các chỉ mục WildCard bỏ qua trường
8 theo mặc định. Để bao gồm trường{ "wildcardProjection" : { "_id" : 1, "" : 0|1 } }
8 trong chỉ số ký tự đại diện, bạn phải đưa nó vào tài liệu{ "wildcardProjection" : { "_id" : 1, "" : 0|1 } }
7:{ "wildcardProjection" : { "_id" : 1, "" : 0|1 } } { "wildcardProjection" : { "_id" : 1, "" : 0|1 } } Ngoại trừ rõ ràng bao gồm trường
8, bạn không thể kết hợp các câu lệnh bao gồm và loại trừ trong tài liệu{ "wildcardProjection" : { "_id" : 1, "" : 0|1 } }
7.{ "wildcardProjection" : { "_id" : 1, "" : 0|1 } } Bạn có thể tạo một chỉ mục ký tự đại diện trên một trường cụ thể và các đường dẫn phụ của nó bằng cách chỉ định đường dẫn đầy đủ đến trường đó làm khóa chỉ mục và nối
3 vào đường dẫn:db.collection.createIndex[ { "a": 1 }, { unique: true, sparse: true, expireAfterSeconds: 3600 } ]
4db.collection.createIndex[ { "a": 1 }, { unique: true, sparse: true, expireAfterSeconds: 3600 } ] Bạn không thể chỉ định khóa chỉ mục giảm dần khi tạo chỉ mục ký tự đại diện.
Cú pháp chỉ số ký tự đại diện cụ thể của đường dẫn không tương thích với tùy chọn
7. Bạn không thể chỉ định các vùi bổ sung hoặc loại trừ trên đường dẫn được chỉ định.{ "wildcardProjection" : { "_id" : 1, "" : 0|1 } }
Khóa chỉ số ký tự đại diện phải sử dụng một trong các cú pháp được liệt kê ở trên. Ví dụ: bạn không thể chỉ định khóa chỉ mục ghép. Để biết thêm tài liệu đầy đủ hơn về các chỉ mục ký tự đại diện, bao gồm các hạn chế về việc tạo của chúng, hãy xem các hạn chế chỉ số ký tự đại diện.must use one of the syntaxes listed above. For example, you cannot specify a compound index key. For more complete documentation on wildcard indexes, including restrictions on their creation, see Wildcard Index Restrictions.
db.collection.createIndex[ { "a": 1 }, { unique: true, sparse: true, expireAfterSeconds: 3600 } ]
6 featureCompitionVersion phải là db.collection.createIndex[ { "a": 1 }, { unique: true, sparse: true, expireAfterSeconds: 3600 } ]
7 để tạo các chỉ mục ký tự đại diện. Để biết hướng dẫn về việc thiết lập FCV, hãy xem Phiên bản tương thích tính năng trên triển khai MongoDB 6.0.Để biết các ví dụ về tạo chỉ số ký tự đại diện, hãy xem Tạo một chỉ số ký tự đại diện.Create a Wildcard Index.
8db.collection.createIndex[ { "a": 1 }, { unique: true, sparse: true, expireAfterSeconds: 3600 } ]
tài liệu
Không bắt buộc. Một tài liệu chứa một tập hợp các tùy chọn kiểm soát việc tạo chỉ mục. Xem các tùy chọn để biết chi tiết.Options for details.
cam kết
số nguyên hoặc chuỗi
Không bắt buộc. Số lượng tối thiểu các thành viên đặt bản sao bỏ phiếu dữ liệu [tức là Quorum cam kết], bao gồm cả chính, phải báo cáo một chỉ số thành công trước khi đánh dấu
db.collection.createIndex[ { "a": 1 }, { unique: true, sparse: true, expireAfterSeconds: 3600 } ]
9 đã sẵn sàng. Một thành viên "bỏ phiếu" là bất kỳ thành viên tập hợp bản sao nào trong đó storageEngine: { : }
0 lớn hơn storageEngine: { : }
1.Hỗ trợ các giá trị sau:
2 - Tất cả các thành viên tập hợp bỏ phiếu mang dữ liệu [mặc định].storageEngine: { : }
3 - Phần lớn đơn giản các thành viên đặt bản sao bỏ phiếu dữ liệu.storageEngine: { : }
4 - Một số lượng cụ thể các thành viên đặt bản sao bỏ phiếu dữ liệu.storageEngine: { : }
1 - Vô hiệu hóa hành vi bỏ phiếu đại biểu. Các thành viên bắt đầu xây dựng chỉ mục đồng thời nhưng không bỏ phiếu hoặc chờ đợi đại biểu trước khi hoàn thành bản dựng chỉ mục. Nếu bạn bắt đầu xây dựng chỉ mục với đại biểu cam kết làstorageEngine: { : }
1, sau này bạn không thể sửa đổi đại biểu cam kết bằng cách sử dụngstorageEngine: { : }
7storageEngine: { : }
Một bản sao đặt tên thẻ.
Mới trong phiên bản 4.4.
Tài liệu
db.collection.createIndex[ { "a": 1 }, { unique: true, sparse: true, expireAfterSeconds: 3600 } ]
8 chứa một tập hợp các tùy chọn kiểm soát việc tạo chỉ mục. Các loại chỉ mục khác nhau có thể có các tùy chọn bổ sung cụ thể cho loại đó.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, hoạt động
{ "wildcardProjection" : { "_id" : 1, "" : 0|1 } }
1 sẽ thất bại.{ "wildcardProjection" : { "_id" : 1, "" : 0|1 } }
1 operation will fail.Xem xét hoạt động
{ "wildcardProjection" : { "_id" : 1, "" : 0|1 } }
1 sau:{ "wildcardProjection" : { "_id" : 1, "" : 0|1 } }
1 operation:db.collection.createIndex[ { "a": 1 }, { unique: true, sparse: true, expireAfterSeconds: 3600 } ]
Nếu đặc tả tùy chọn đã được chia thành nhiều tài liệu như thế này:
collation: { locale: , caseLevel: , caseFirst: , strength: , numericOrdering: , alternate: , maxVariable: , backwards: }
1, hoạt động tạo chỉ mục sẽ không thành công.Các tùy chọn sau có sẵn cho tất cả các loại chỉ mục trừ khi có quy định khác:
| boolean | Không bắt buộc. Khấu hao trong MongoDB 4.2.
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| boolean | Không bắt buộc. Tạo một chỉ mục duy nhất để bộ sưu tập sẽ không chấp nhận chèn hoặc cập nhật các tài liệu trong đó giá trị khóa chỉ mục phù hợp với giá trị hiện có trong chỉ mục. Chỉ định 9 để tạo một chỉ mục duy nhất. Giá trị mặc định là 5.Tùy chọn không có sẵn cho các chỉ mục băm. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
db.myColl.createIndex[ { category: 1 }, { collation: { locale: "fr" } } ] | sợi dây | Không bắt buộc. Tên của chỉ mục. Nếu không xác định, MongoDB sẽ tạo ra một tên chỉ mục bằng cách nối tên của các trường được lập chỉ mục và thứ tự sắp xếp. Ghi chúĐã thay đổi trong MongoDB 4.2Bắt đầu từ phiên bản 4.2, để đặt featureCompitionVersion được đặt thành 6 trở lên, MongoDB sẽ loại bỏ giới hạn độ dài tên chỉ mục là tối đa 127 byte. Trong các phiên bản trước hoặc phiên bản MongoDB với FeatureCompitionVersion [FCV] được đặt thành 3, tên chỉ mục phải nằm trong giới hạn.
|
db.myColl.createIndex[ { category: 1 }, { collation: { locale: "fr" } } ]
4
tài liệu
Không bắt buộc. Nếu được chỉ định, chỉ mục chỉ tham chiếu các tài liệu phù hợp với biểu thức bộ lọc. Xem các chỉ mục một phần để biết thêm thông tin.
Một biểu thức bộ lọc có thể bao gồm:
Biểu thức bình đẳng [tức là
5 hoặc sử dụng toán tửdb.myColl.createIndex[ { category: 1 }, { collation: { locale: "fr" } } ]
6],db.myColl.createIndex[ { category: 1 }, { collation: { locale: "fr" } } ]
7 Biểu thức,db.myColl.createIndex[ { category: 1 }, { collation: { locale: "fr" } } ]
8,db.myColl.createIndex[ { category: 1 }, { collation: { locale: "fr" } } ]
9,db.myColl.createIndex[ { category: 1 }, { collation: { locale: "fr" } } ]
0,db.myColl.find[ { category: "cafe" } ].collation[ { locale: "fr" } ]
1 Biểu thức,db.myColl.find[ { category: "cafe" } ].collation[ { locale: "fr" } ]
2 Biểu thức,db.myColl.find[ { category: "cafe" } ].collation[ { locale: "fr" } ]
Nhà điều hành
3,db.myColl.find[ { category: "cafe" } ].collation[ { locale: "fr" } ]
Nhà điều hành
4,db.myColl.find[ { category: "cafe" } ].collation[ { locale: "fr" } ]
Nhà điều hành
5db.myColl.find[ { category: "cafe" } ].collation[ { locale: "fr" } ]
Bạn có thể chỉ định tùy chọn
db.myColl.createIndex[ { category: 1 }, { collation: { locale: "fr" } } ]
4 cho tất cả các loại chỉ mục MongoDB.
db.myColl.find[ { category: "cafe" } ].collation[ { locale: "fr" } ]
7
boolean
Không bắt buộc. Nếu
collation: { locale: , caseLevel: , caseFirst: , strength: , numericOrdering: , alternate: , maxVariable: , backwards: }
9, chỉ mục chỉ tham chiếu các tài liệu với trường được chỉ định. Các chỉ mục này sử dụng ít không gian hơn nhưng hoạt động khác nhau trong một số tình huống [đặc biệt là các loại]. Giá trị mặc định là collation: { locale: , caseLevel: , caseFirst: , strength: , numericOrdering: , alternate: , maxVariable: , backwards: }
5. Xem các chỉ mục thưa thớt để biết thêm thông tin.Các loại chỉ mục sau đây thưa thớt theo mặc định và bỏ qua tùy chọn này:
2dsphere
2d
Geohaystack
chữ
Đối với một chỉ mục ghép bao gồm [các] khóa chỉ mục
db.system.indexes.find[{'name':'indexname', 'ns':'dbname.collection'}];
00 cùng với các khóa của các loại khác, chỉ các trường chỉ mục db.system.indexes.find[{'name':'indexname', 'ns':'dbname.collection'}];
00 xác định xem chỉ mục có tham chiếu tài liệu hay không.Đã thay đổi trong phiên bản 3.2: Bắt đầu trong MongoDB 3.2, MongoDB cung cấp tùy chọn để tạo các chỉ mục một phần. 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. Nếu bạn đang sử dụng MongoDB 3.2 trở lên, các chỉ mục một phần nên được ưu tiên hơn các chỉ mục thưa thớt.
02db.system.indexes.find[{'name':'indexname', 'ns':'dbname.collection'}];
Số nguyên
Không bắt buộc. Chỉ định một giá trị, trong vài giây, là một TTL để kiểm soát thời gian MongoDB giữ lại các tài liệu trong bộ sưu tập này. Xem Dữ liệu hết hạn từ các bộ sưu tập bằng cách đặt TTL để biết thêm thông tin về chức năng này. Điều này chỉ áp dụng cho các chỉ mục TTL.
ẩn giấu
boolean
Không bắt buộc. Một lá cờ xác định liệu chỉ mục có bị ẩn khỏi trình lập kế hoạch truy vấn hay không. Một chỉ số ẩn không được đánh giá là một phần của lựa chọn kế hoạch truy vấn.
Mặc định là
collation: { locale: , caseLevel: , caseFirst: , strength: , numericOrdering: , alternate: , maxVariable: , backwards: }
5.Để sử dụng tùy chọn
db.system.indexes.find[{'name':'indexname', 'ns':'dbname.collection'}];
04, bạn phải có FeatureCompitionVersion được đặt thành db.system.indexes.find[{'name':'indexname', 'ns':'dbname.collection'}];
05 trở lên. Tuy nhiên, một khi bị ẩn, chỉ số vẫn được ẩn ngay cả với featureCompitionVersion được đặt thành db.collection.createIndex[ { "a": 1 }, { unique: true, sparse: true, expireAfterSeconds: 3600 } ]
7 trên các nhị phân MongoDB 4.4.Mới trong phiên bản 4.4.
07db.system.indexes.find[{'name':'indexname', 'ns':'dbname.collection'}];
tài liệu
Không bắt buộc. Nếu được chỉ định, chỉ mục chỉ tham chiếu các tài liệu phù hợp với biểu thức bộ lọc. Xem các chỉ mục một phần để biết thêm thông tin.
Một biểu thức bộ lọc có thể bao gồm:
storageEngine: { : }
Biểu thức bình đẳng [tức là
db.myColl.createIndex[ { category: 1 }, { collation: { locale: "fr" } } ]
5 hoặc sử dụng toán tử db.myColl.createIndex[ { category: 1 }, { collation: { locale: "fr" } } ]
6],
Cảnh báo
Đối chiếu không được hỗ trợ trong MongoDB 3.2 và các phiên bản trước đó. Trong MongoDB 3.2 và các phiên bản trước đó, không tạo các chỉ mục với tùy chọn đối chiếu không được hỗ trợ vì điều này sẽ chặn nâng cấp lên 3,4, thực thi xác nhận chặt chẽ hơn các tùy chọn chỉ mục.
| tài liệu | Không bắt buộc. Chỉ định đối chiếu cho chỉ số. Đố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. Nếu bạn đã chỉ định một đối chiếu ở cấp độ thu thập, thì:
Tùy chọn đối chiếu có cú pháp sau:
Khi chỉ định đối chiếu, trường 10 là bắt buộc; Tất cả các trường đối chiếu khác là tùy chọn. Để biết mô tả của các trường, xem tài liệ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.
Mẹo
Để tạo một chỉ mục
db.system.indexes.find[{'name':'indexname', 'ns':'dbname.collection'}];
11, db.system.indexes.find[{'name':'indexname', 'ns':'dbname.collection'}];
12 hoặc db.system.indexes.find[{'name':'indexname', 'ns':'dbname.collection'}];
13 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 db.system.indexes.find[{'name':'indexname', 'ns':'dbname.collection'}];
14 khi tạo chỉ mục.Nếu bạn đã chỉ định một đối chiếu ở cấp độ thu thập, thì:
Nếu bạn không chỉ định một đối chiếu khi tạo chỉ mục, MongoDB sẽ tạo chỉ mục với đối chiếu mặc định của bộ sưu tập.
Nếu bạn chỉ định một đối chiếu khi tạo chỉ mục, MongoDB sẽ tạo chỉ mục với đối chiếu được chỉ định.
Mẹo
Để tạo một chỉ mục
db.system.indexes.find[{'name':'indexname', 'ns':'dbname.collection'}];
11, db.system.indexes.find[{'name':'indexname', 'ns':'dbname.collection'}];
12 hoặc db.system.indexes.find[{'name':'indexname', 'ns':'dbname.collection'}];
13 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 db.system.indexes.find[{'name':'indexname', 'ns':'dbname.collection'}];
14 khi tạo chỉ mục.Bạn có thể tạo nhiều chỉ mục trên cùng một khóa với các đối chiếu khác nhau. Để tạo các chỉ mục với cùng một mẫu chính nhưng các đối chiếu khác nhau, bạn phải cung cấp tên chỉ mục duy nhất.
Để 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.system.indexes.find[{'name':'indexname', 'ns':'dbname.collection'}];
20 có chỉ mục trên trường chuỗi db.system.indexes.find[{'name':'indexname', 'ns':'dbname.collection'}];
21 với locale đối chiếu db.system.indexes.find[{'name':'indexname', 'ns':'dbname.collection'}];
22.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.system.indexes.find[{'name':'indexname', 'ns':'dbname.collection'}];
0Đố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.system.indexes.find[{'name':'indexname', 'ns':'dbname.collection'}];
20 có chỉ số hợp chất trên các trường số db.system.indexes.find[{'name':'indexname', 'ns':'dbname.collection'}];
24 và db.system.indexes.find[{'name':'indexname', 'ns':'dbname.collection'}];
25 và trường chuỗi db.system.indexes.find[{'name':'indexname', 'ns':'dbname.collection'}];
21; Chỉ mục được tạo với locale đối chiếu db.system.indexes.find[{'name':'indexname', 'ns':'dbname.collection'}];
22 để so sánh chuỗi:db.system.indexes.find[{'name':'indexname', 'ns':'dbname.collection'}];
1Các hoạt động sau, sử dụng đối chiếu nhị phân
db.system.indexes.find[{'name':'indexname', 'ns':'dbname.collection'}];
28 để so sánh chuỗi, có thể sử dụng chỉ mục:db.system.indexes.find[{'name':'indexname', 'ns':'dbname.collection'}];
2Hoạt động sau, sử dụng đối chiếu nhị phân
db.system.indexes.find[{'name':'indexname', 'ns':'dbname.collection'}];
28 để so sánh chuỗi trên trường db.system.indexes.find[{'name':'indexname', 'ns':'dbname.collection'}];
21 được lập chỉ mục, có thể sử dụng chỉ mục để chỉ thực hiện phần db.system.indexes.find[{'name':'indexname', 'ns':'dbname.collection'}];
31 của truy vấn:db.system.indexes.find[{'name':'indexname', 'ns':'dbname.collection'}];
3Các tùy chọn sau chỉ có sẵn cho các chỉ mục văn bản:
| tài liệu | Không bắt buộc. Đối với các chỉ mục văn bản, một tài liệu chứa các cặp trường và trọng lượng. Trọng lượng là một số nguyên dao động từ 1 đến 99.999 và biểu thị tầm quan trọng của trường so với các trường được lập chỉ mục khác về điểm số. Bạn có thể chỉ định trọng số cho một số hoặc tất cả các trường được lập chỉ mục. Xem kết quả tìm kiếm kiểm soát với trọng số để điều chỉnh điểm số. Giá trị mặc định là 3.Bắt đầu từ MongoDB 5.0, tùy chọn trọng số chỉ được phép cho các chỉ mục văn bản. | ||||||
| sợi dây | Không bắt buộc. Đối với các chỉ mục văn bản, ngôn ngữ xác định danh sách các từ dừng và các quy tắc cho stemmer và tokenizer. Xem ngôn ngữ tìm kiếm văn bản cho các ngôn ngữ có sẵn và chỉ định một ngôn ngữ cho chỉ mục văn bản để biết thêm thông tin và ví dụ. Giá trị mặc định là | ||||||
| sợi dây | Không bắt buộc. Đối với các chỉ mục văn bản, ngôn ngữ xác định danh sách các từ dừng và các quy tắc cho stemmer và tokenizer. Xem ngôn ngữ tìm kiếm văn bản cho các ngôn ngữ có sẵn và chỉ định một ngôn ngữ cho chỉ mục văn bản để biết thêm thông tin và ví dụ. Giá trị mặc định là | ||||||
| Không bắt buộc. Đối với các chỉ mục văn bản, tên của trường, trong các tài liệu của bộ sưu tập, chứa ngôn ngữ ghi đè cho tài liệu. Giá trị mặc định là | Số nguyên Không bắt buộc. Số phiên bản chỉ mục 11. Người dùng có thể sử dụng tùy chọn này để ghi đè số phiên bản mặc định.
|
Tùy chọn sau đây chỉ có sẵn cho 2DSphere Indexes:
| Số nguyên | Không bắt buộc. Số phiên bản chỉ mục 00. Người dùng có thể sử dụng tùy chọn này để ghi đè số phiên bản mặc định.Đối với các phiên bản có sẵn, xem phiên bản. |
Các tùy chọn sau chỉ có sẵn cho các chỉ mục 2D:
| Số nguyên | Không bắt buộc. Đối với các chỉ mục 2D, số lượng độ chính xác của giá trị địa lý được lưu trữ của dữ liệu vị trí. Giá trị 42 dao động từ 1 đến 32 bao gồm. Giá trị mặc định là 44.
|
| con số | Không bắt buộc. Đối với các chỉ mục 2D, ranh giới bao gồm thấp hơn cho các giá trị kinh độ và vĩ độ. Giá trị mặc định là |
| con số | Không bắt buộc. Đối với các chỉ mục 2D, ranh giới bao gồm thấp hơn cho các giá trị kinh độ và vĩ độ. Giá trị mặc định là |
Để tạo một chỉ mục duy nhất, hãy sử dụng phương thức db.Collection.CreateIndex [] với tùy chọn duy nhất được đặt thành true.
| Tùy chọn "thưa thớt" có thể được sử dụng để khắc phục điều này, vì nó sẽ ngăn các tài liệu mà không cần trường được lập chỉ mục. Chỉ định đúng để tạo một chỉ mục thưa thớt, chỉ chỉ các chỉ mục các tài liệu chứa một trường được chỉ định. Giá trị mặc định là sai. | Tùy chọn sau đây chỉ có sẵn cho các chỉ mục Geohaystack: Giá trị phải lớn hơn 0. |
Ghi chú
Bị loại bỏ trong MongoDB 5.0
Tùy chọn "thưa thớt" có thể được sử dụng để khắc phục điều này, vì nó sẽ ngăn các tài liệu mà không cần trường được lập chỉ mục. Chỉ định đúng để tạo một chỉ mục thưa thớt, chỉ chỉ các chỉ mục các tài liệu chứa một trường được chỉ định. Giá trị mặc định là sai.
| Sự mô tả | tài liệu Không bắt buộc. Cho phép người dùng bao gồm hoặc loại trừ các đường dẫn trường cụ thể khỏi chỉ mục ký tự đại diện bằng cách sử dụng mẫu khóa 51. Tùy chọn này chỉ hợp lệ nếu tạo chỉ mục ký tự đại diện trên tất cả các trường tài liệu. Bạn không thể chỉ định tùy chọn này nếu tạo chỉ mục ký tự đại diện trên đường dẫn trường cụ thể và các trường con của nó, ví dụ: 4 4Tùy chọn 7 có biểu mẫu sau:
1 hoặc 5 để loại trừ trường khỏi chỉ số ký tự đại diện.
Các chỉ mục WildCard bỏ qua trường 8 theo mặc định. Để bao gồm trường 8 trong chỉ số ký tự đại diện, bạn phải đưa nó vào tài liệu 7:
|
Đã thay đổi trong phiên bản 4.2.
Đối với featureCompitionVersion
collation: { locale: , caseLevel: , caseFirst: , strength: , numericOrdering: , alternate: , maxVariable: , backwards: }
6, { "wildcardProjection" : { "_id" : 1, "" : 0|1 } }
1 sử dụng quy trình xây dựng được tối ưu hóa, có được và giữ một khóa độc quyền trên bộ sưu tập được chỉ định ở đầu và cuối của bản dựng chỉ mục. Tất cả các hoạt động tiếp theo trên bộ sưu tập phải đợi cho đến khi { "wildcardProjection" : { "_id" : 1, "" : 0|1 } }
1 phát hành khóa độc quyền. { "wildcardProjection" : { "_id" : 1, "" : 0|1 } }
1 cho phép các hoạt động đọc và ghi xen kẽ trong phần lớn bản dựng chỉ mục.{ "wildcardProjection" : { "_id" : 1, "" : 0|1 } }
1 uses an optimized build process that obtains and
holds an exclusive lock on the specified collection at the start and end of the index build. All subsequent operations on the collection must wait until { "wildcardProjection" : { "_id" : 1, "" : 0|1 } }
1 releases the exclusive lock.
{ "wildcardProjection" : { "_id" : 1, "" : 0|1 } }
1 allows interleaving read and write operations during the majority of the index build.Đối với featureCompitionVersion
collation: { locale: , caseLevel: , caseFirst: , strength: , numericOrdering: , alternate: , maxVariable: , backwards: }
3, { "wildcardProjection" : { "_id" : 1, "" : 0|1 } }
1 sử dụng quy trình xây dựng chỉ mục Pre-4.2 theo mặc định có được khóa độc quyền trên cơ sở dữ liệu cha trong toàn bộ thời gian của quy trình xây dựng. Quá trình xây dựng Pre-4.2 chặn tất cả các hoạt động trên cơ sở dữ liệu và tất cả các bộ sưu tập của nó cho đến khi hoàn thành thao tác. collation: { locale: , caseLevel: , caseFirst: , strength: , numericOrdering: , alternate: , maxVariable: , backwards: }
2 Các chỉ mục không có khóa độc quyền.{ "wildcardProjection" : { "_id" : 1, "" : 0|1 } }
1 uses the pre-4.2 index build process which by default obtains an exclusive lock on the parent database for the entire duration of the build process. The pre-4.2 build process blocks all operations on the database and all its collections until the operation completed. collation: { locale: , caseLevel: , caseFirst: , strength: , numericOrdering: , alternate: , maxVariable: , backwards: }
2 indexes do not take an exclusive lock.
Để biết thêm thông tin về hành vi khóa của
{ "wildcardProjection" : { "_id" : 1, "" : 0|1 } }
1, hãy xem chỉ mục xây dựng trên các bộ sưu tập đông dân cư.{ "wildcardProjection" : { "_id" : 1, "" : 0|1 } }
1, see Index Builds on Populated Collections.Nếu bạn gọi
{ "wildcardProjection" : { "_id" : 1, "" : 0|1 } }
1 cho một chỉ mục đã tồn tại, MongoDB sẽ không tạo lại chỉ mục.{ "wildcardProjection" : { "_id" : 1, "" : 0|1 } }
1 for an index that already exists, MongoDB does not recreate the index.Ngoại trừ tùy chọn đối chiếu, nếu bạn tạo một chỉ mục với một bộ tùy chọn chỉ mục và sau đó cố gắng tạo lại cùng một chỉ mục nhưng với các tùy chọn chỉ mục khác nhau, MongoDB sẽ không thay đổi các tùy chọn cũng như tái tạo chỉ mục.collation option, if you create an index with one set of index options and then try to recreate the same index but with different index options, MongoDB will not change the options nor recreate the index.
Tùy chọn ẩn có thể được thay đổi mà không bỏ và tái tạo chỉ mục. Xem tùy chọn ẩn.Hidden Option.
Để thay đổi các tùy chọn chỉ mục khác, hãy bỏ chỉ mục hiện có với
db.system.indexes.find[{'name':'indexname', 'ns':'dbname.collection'}];
73 trước khi chạy { "wildcardProjection" : { "_id" : 1, "" : 0|1 } }
1 với các tùy chọn mới.{ "wildcardProjection" : { "_id" : 1, "" : 0|1 } }
1 with the new options.Bạn có thể tạo nhiều chỉ mục trên cùng một khóa với các đối chiếu khác nhau. Để tạo các chỉ mục với cùng một mẫu chính nhưng các đối chiếu khác nhau, bạn phải cung cấp tên chỉ mục duy nhất.
Mới trong phiên bản 4.4.
Ghi chú
Để ẩn hoặc bỏ các chỉ mục hiện tại, bạn có thể sử dụng các phương thức
if[db.system.indexes.find[{name:'indexname',ns:{$regex:'.collection$'}}].count[]==0] {
db.collection.createIndex[{blah:1},{name:'indexname'}]
}
8 sau:if[db.system.indexes.find[{name:'indexname',ns:{$regex:'.collection$'}}].count[]==0] {
db.collection.createIndex[{blah:1},{name:'indexname'}]
}
8 methods:
76db.system.indexes.find[{'name':'indexname', 'ns':'dbname.collection'}];
77db.system.indexes.find[{'name':'indexname', 'ns':'dbname.collection'}];
Ví dụ,
Để thay đổi tùy chọn
04 cho một chỉ mục thànhdb.system.indexes.find[{'name':'indexname', 'ns':'dbname.collection'}];
9, hãy sử dụng phương thứccollation: { locale: , caseLevel: , caseFirst: , strength: , numericOrdering: , alternate: , maxVariable: , backwards: }
76:db.system.indexes.find[{'name':'indexname', 'ns':'dbname.collection'}];
6db.system.indexes.find[{'name':'indexname', 'ns':'dbname.collection'}];
Để thay đổi tùy chọn
04 cho một chỉ mục thànhdb.system.indexes.find[{'name':'indexname', 'ns':'dbname.collection'}];
5, hãy sử dụng phương thứccollation: { locale: , caseLevel: , caseFirst: , strength: , numericOrdering: , alternate: , maxVariable: , backwards: }
77:db.system.indexes.find[{'name':'indexname', 'ns':'dbname.collection'}];
7db.system.indexes.find[{'name':'indexname', 'ns':'dbname.collection'}];
Mẹo
Xem thêm:
Đối với MongoDB 2.6 thông qua các phiên bản MongoDB với FeatureCompitionVersion [FCV] được đặt thành
collation: { locale: , caseLevel: , caseFirst: , strength: , numericOrdering: , alternate: , maxVariable: , backwards: }
3 hoặc sớm hơn, MongoDB sẽ không tạo chỉ mục trên bộ sưu tập nếu mục nhập chỉ mục cho tài liệu hiện có vượt quá độ dài của chỉ số tối đa.not create an index on a collection if the index entry for an existing document exceeds the Maximum Index Key Length.Thay đổi trong phiên bản 4.4.
Bắt đầu từ MongoDB 4.4, bạn có thể tạo các bộ sưu tập và chỉ mục bên trong giao dịch đa tài liệu nếu giao dịch không phải là giao dịch ghi chéo.not a cross-shard write transaction.
Để sử dụng
{ "wildcardProjection" : { "_id" : 1, "" : 0|1 } }
1 trong một giao dịch, giao dịch phải sử dụng Read Mối quan tâm db.system.indexes.find[{'name':'indexname', 'ns':'dbname.collection'}];
86. Nếu bạn chỉ định mức độ quan tâm đọc khác với db.system.indexes.find[{'name':'indexname', 'ns':'dbname.collection'}];
86, giao dịch không thành công.{ "wildcardProjection" : { "_id" : 1, "" : 0|1 } }
1 in a transaction, the transaction must use read concern db.system.indexes.find[{'name':'indexname', 'ns':'dbname.collection'}];
86. If you specify a read concern level other than
db.system.indexes.find[{'name':'indexname', 'ns':'dbname.collection'}];
86, the transaction fails.Mẹo
Xem thêm:
Để tạo một chỉ mục duy nhất, hãy sử dụng phương thức db.Collection.CreateIndex [] với tùy chọn duy nhất được đặt thành true.
db.system.indexes.find[{'name':'indexname', 'ns':'dbname.collection'}];
8Phương pháp nào được sử dụng để tạo chỉ mục trong MongoDB?
90 creates a compound index.db.system.indexes.find[{'name':'indexname', 'ns':'dbname.collection'}];
Ví dụ sau đây tạo ra một chỉ số hợp chất trên trường
db.system.indexes.find[{'name':'indexname', 'ns':'dbname.collection'}];
88 [theo thứ tự tăng dần] và trường db.system.indexes.find[{'name':'indexname', 'ns':'dbname.collection'}];
92 [theo thứ tự giảm dần.]db.system.indexes.find[{'name':'indexname', 'ns':'dbname.collection'}];
9Thay đổi trong phiên bản 4.4: Bắt đầu từ MongoDB 4.4, các chỉ mục ghép có thể bao gồm một trường băm đơn. Các chỉ số băm hợp chất yêu cầu FeatureCompitionVersion được đặt thành
db.system.indexes.find[{'name':'indexname', 'ns':'dbname.collection'}];
05.Ví dụ sau đây tạo ra một chỉ số hợp chất trên trường
db.system.indexes.find[{'name':'indexname', 'ns':'dbname.collection'}];
94 [theo thứ tự tăng dần] và trường db.system.indexes.find[{'name':'indexname', 'ns':'dbname.collection'}];
92 [băm]:db.system.indexes.find[{'name':'indexname', 'ns': {$regex:'.collection$'}}];
0Thứ tự của các trường trong một chỉ số hợp chất rất quan trọng để hỗ trợ các hoạt động
db.system.indexes.find[{'name':'indexname', 'ns':'dbname.collection'}];
96 bằng cách sử dụng chỉ mục.Mẹo
Ví dụ sau đây tạo ra một chỉ mục có tên
db.system.indexes.find[{'name':'indexname', 'ns':'dbname.collection'}];
97. Ví dụ tạo ra chỉ mục với đối chiếu chỉ định địa phương db.system.indexes.find[{'name':'indexname', 'ns':'dbname.collection'}];
98 và cường độ so sánh db.system.indexes.find[{'name':'indexname', 'ns':'dbname.collection'}];
17:collation that specifies the locale db.system.indexes.find[{'name':'indexname', 'ns':'dbname.collection'}];
98 and comparison strength db.system.indexes.find[{'name':'indexname', 'ns':'dbname.collection'}];
17:db.system.indexes.find[{'name':'indexname', 'ns': {$regex:'.collection$'}}];
1Ví dụ sau đây tạo ra một chỉ số hợp chất có tên
db.system.indexes.find[{'name':'indexname', 'ns': {$regex:'.collection$'}}];
00 với một đối chiếu. Bộ đối chiếu chỉ áp dụng cho các phím chỉ mục với các giá trị chuỗi.collation. The
collation applies only to the index keys with string values.db.system.indexes.find[{'name':'indexname', 'ns': {$regex:'.collection$'}}];
2Bộ đối chiếu áp dụng cho các khóa được lập chỉ mục có giá trị là chuỗi.
Đối với các truy vấn hoặc hoạt động sắp xếp trên các khóa được lập chỉ mục sử dụng các quy tắc đối chiếu tương tự, MongoDB có thể sử dụng chỉ mục. Để biết chi tiết, xem đối chiếu và sử dụng chỉ mục.Collation and Index Use.
Mới trong phiên bản 4.2.
db.collection.createIndex[ { "a": 1 }, { unique: true, sparse: true, expireAfterSeconds: 3600 } ]
6 featureCompitionVersion phải là db.collection.createIndex[ { "a": 1 }, { unique: true, sparse: true, expireAfterSeconds: 3600 } ]
7 để tạo các chỉ mục ký tự đại diện. Để biết hướng dẫn về việc thiết lập FCV, hãy xem Phiên bản tương thích tính năng trên triển khai MongoDB 6.0.Các chỉ mục WildCard bỏ qua trường
8 theo mặc định. Để bao gồm trường{ "wildcardProjection" : { "_id" : 1, "" : 0|1 } }
8 trong chỉ số ký tự đại diện, bạn phải đưa nó vào tài liệu{ "wildcardProjection" : { "_id" : 1, "" : 0|1 } }
7:{ "wildcardProjection" : { "_id" : 1, "" : 0|1 } } { "wildcardProjection" : { "_id" : 1, "" : 0|1 } } Ngoại trừ rõ ràng bao gồm trường
8, bạn không thể kết hợp các câu lệnh bao gồm và loại trừ trong tài liệu{ "wildcardProjection" : { "_id" : 1, "" : 0|1 } }
7.{ "wildcardProjection" : { "_id" : 1, "" : 0|1 } } Các chỉ mục WildCard không hỗ trợ các loại chỉ mục hoặc thuộc tính sau:
Hợp chất
TTL
Chữ
2D [không gian địa lý]
2dsphere [không gian địa lý]
Băm
Độc nhất
Ghi chú
Các chỉ số ký tự đại diện khác với và không tương thích với các chỉ mục văn bản ký tự đại diện. Các chỉ mục ký tự đại diện không thể hỗ trợ các truy vấn bằng toán tử
08.db.system.indexes.find[{'name':'indexname', 'ns': {$regex:'.collection$'}}];
Để biết tài liệu đầy đủ về các hạn chế chỉ số ký tự đại diện, xem các hạn chế chỉ số ký tự đại diện.
Để biết tài liệu đầy đủ về các chỉ mục ký tự đại diện, xem các chỉ mục ký tự đại diện.
Các ví dụ liệt kê sau đây về việc tạo chỉ số ký tự đại diện:
Tạo chỉ mục ký tự đại diện trên một đường dẫn trường duy nhất
Tạo một chỉ mục ký tự đại diện trên tất cả các đường dẫn trường
Bao gồm các trường cụ thể trong phạm vi bảo hiểm chỉ số ký tự đại diện
Bỏ qua các trường cụ thể từ phạm vi bảo hiểm chỉ số ký tự đại diện
Hãy xem xét một bộ sưu tập
db.system.indexes.find[{'name':'indexname', 'ns': {$regex:'.collection$'}}];
09 trong đó các tài liệu có thể chứa trường db.system.indexes.find[{'name':'indexname', 'ns': {$regex:'.collection$'}}];
10. Trường db.system.indexes.find[{'name':'indexname', 'ns': {$regex:'.collection$'}}];
10 có thể chứa các trường lồng nhau tùy ý, bao gồm các tài liệu và mảng nhúng:db.system.indexes.find[{'name':'indexname', 'ns': {$regex:'.collection$'}}];
4Hoạt động sau đây tạo ra một chỉ mục ký tự đại diện trên trường
db.system.indexes.find[{'name':'indexname', 'ns': {$regex:'.collection$'}}];
10:db.system.indexes.find[{'name':'indexname', 'ns': {$regex:'.collection$'}}];
5Với chỉ số ký tự đại diện này, MongoDB chỉ số tất cả các giá trị vô hướng của
db.system.indexes.find[{'name':'indexname', 'ns': {$regex:'.collection$'}}];
10. Nếu trường là một tài liệu hoặc mảng lồng nhau, chỉ số ký tự đại diện được đặt vào tài liệu/mảng và chỉ mục tất cả các trường vô hướng trong tài liệu/mảng.Chỉ số ký tự đại diện có thể hỗ trợ các truy vấn trường đơn tùy ý trên
db.system.indexes.find[{'name':'indexname', 'ns': {$regex:'.collection$'}}];
10 hoặc một trong các trường lồng nhau của nó:db.system.indexes.find[{'name':'indexname', 'ns': {$regex:'.collection$'}}];
6Ghi chú
Các chỉ số ký tự đại diện khác với và không tương thích với các chỉ mục văn bản ký tự đại diện. Các chỉ mục ký tự đại diện không thể hỗ trợ các truy vấn bằng toán tử
db.system.indexes.find[{'name':'indexname', 'ns': {$regex:'.collection$'}}];
08.parameter documentation for more
information.Hãy xem xét một bộ sưu tập
db.system.indexes.find[{'name':'indexname', 'ns': {$regex:'.collection$'}}];
09 trong đó các tài liệu có thể chứa trường db.system.indexes.find[{'name':'indexname', 'ns': {$regex:'.collection$'}}];
10. Trường db.system.indexes.find[{'name':'indexname', 'ns': {$regex:'.collection$'}}];
10 có thể chứa các trường lồng nhau tùy ý, bao gồm các tài liệu và mảng nhúng:db.system.indexes.find[{'name':'indexname', 'ns': {$regex:'.collection$'}}];
4Hoạt động sau đây tạo ra một chỉ mục ký tự đại diện trên trường
db.system.indexes.find[{'name':'indexname', 'ns': {$regex:'.collection$'}}];
10:db.system.indexes.find[{'name':'indexname', 'ns': {$regex:'.collection$'}}];
8Với chỉ số ký tự đại diện này, MongoDB chỉ số tất cả các giá trị vô hướng của
db.system.indexes.find[{'name':'indexname', 'ns': {$regex:'.collection$'}}];
10. Nếu trường là một tài liệu hoặc mảng lồng nhau, chỉ số ký tự đại diện được đặt vào tài liệu/mảng và chỉ mục tất cả các trường vô hướng trong tài liệu/mảng.Chỉ số ký tự đại diện có thể hỗ trợ các truy vấn trường đơn tùy ý trên
db.system.indexes.find[{'name':'indexname', 'ns': {$regex:'.collection$'}}];
10 hoặc một trong các trường lồng nhau của nó:db.system.indexes.find[{'name':'indexname', 'ns': {$regex:'.collection$'}}];
9Ghi chú
Các chỉ số ký tự đại diện khác với và không tương thích với các chỉ mục văn bản ký tự đại diện. Các chỉ mục ký tự đại diện không thể hỗ trợ các truy vấn bằng toán tử
db.system.indexes.find[{'name':'indexname', 'ns': {$regex:'.collection$'}}];
08.parameter documentation for more information.Hãy xem xét một bộ sưu tập
db.system.indexes.find[{'name':'indexname', 'ns': {$regex:'.collection$'}}];
09 trong đó các tài liệu có thể chứa trường db.system.indexes.find[{'name':'indexname', 'ns': {$regex:'.collection$'}}];
10. Trường db.system.indexes.find[{'name':'indexname', 'ns': {$regex:'.collection$'}}];
10 có thể chứa các trường lồng nhau tùy ý, bao gồm các tài liệu và mảng nhúng:db.system.indexes.find[{'name':'indexname', 'ns': {$regex:'.collection$'}}];
4Hoạt động sau đây tạo ra một chỉ mục ký tự đại diện trên trường
db.system.indexes.find[{'name':'indexname', 'ns': {$regex:'.collection$'}}];
10:if[db.system.indexes.find[{name:'indexname',ns:{$regex:'.collection$'}}].count[]==0] {
db.collection.createIndex[{blah:1},{name:'indexname'}]
}
1Với chỉ số ký tự đại diện này, MongoDB chỉ số tất cả các giá trị vô hướng của
db.system.indexes.find[{'name':'indexname', 'ns': {$regex:'.collection$'}}];
10. Nếu trường là một tài liệu hoặc mảng lồng nhau, chỉ số ký tự đại diện được đặt vào tài liệu/mảng và chỉ mục tất cả các trường vô hướng trong tài liệu/mảng.Options for db.system.indexes.find[{'name':'indexname', 'ns': {$regex:'.collection$'}}];
32
indexes.Nếu một trường là một tài liệu hoặc mảng lồng nhau, chỉ số ký tự đại diện được đặt vào tài liệu/mảng và chỉ mục tất cả các trường vô hướng trong tài liệu/mảng.
Chỉ mục được tạo có thể hỗ trợ các truy vấn trên bất kỳ trường vô hướng nào có trong
{ "wildcardProjection" : { "_id" : 1, "" : 0|1 } }
7:if[db.system.indexes.find[{name:'indexname',ns:{$regex:'.collection$'}}].count[]==0] {
db.collection.createIndex[{blah:1},{name:'indexname'}]
}
2Ghi chú
Các chỉ mục ký tự đại diện không hỗ trợ các câu lệnh bao gồm và loại trừ trộn trong tài liệu
{ "wildcardProjection" : { "_id" : 1, "" : 0|1 } }
7 trừ khi rõ ràng bao gồm cả trường { "wildcardProjection" : { "_id" : 1, "" : 0|1 } }
8. Để biết thêm thông tin về { "wildcardProjection" : { "_id" : 1, "" : 0|1 } }
7, hãy xem tài liệu tham số.parameter documentation.Hãy xem xét một bộ sưu tập
db.system.indexes.find[{'name':'indexname', 'ns': {$regex:'.collection$'}}];
09 trong đó các tài liệu có thể chứa trường db.system.indexes.find[{'name':'indexname', 'ns': {$regex:'.collection$'}}];
10. Trường db.system.indexes.find[{'name':'indexname', 'ns': {$regex:'.collection$'}}];
10 có thể chứa các trường lồng nhau tùy ý, bao gồm các tài liệu và mảng nhúng:db.system.indexes.find[{'name':'indexname', 'ns': {$regex:'.collection$'}}];
4Hoạt động sau tạo chỉ mục ký tự đại diện và sử dụng tài liệu
{ "wildcardProjection" : { "_id" : 1, "" : 0|1 } }
7 để lập chỉ mục tất cả các trường vô hướng cho mỗi tài liệu trong bộ sưu tập, không bao gồm các trường db.system.indexes.find[{'name':'indexname', 'ns': {$regex:'.collection$'}}];
27 và db.system.indexes.find[{'name':'indexname', 'ns': {$regex:'.collection$'}}];
28:if[db.system.indexes.find[{name:'indexname',ns:{$regex:'.collection$'}}].count[]==0] {
db.collection.createIndex[{blah:1},{name:'indexname'}]
}
4Trong khi mẫu chính
db.collection.createIndex[ { "a": 1 }, { unique: true, sparse: true, expireAfterSeconds: 3600 } ]
3 bao gồm tất cả các trường trong tài liệu, trường { "wildcardProjection" : { "_id" : 1, "" : 0|1 } }
7 không bao gồm các trường được chỉ định từ chỉ mục. Để biết tài liệu đầy đủ trên { "wildcardProjection" : { "_id" : 1, "" : 0|1 } }
7, hãy xem các tùy chọn cho các chỉ mục db.system.indexes.find[{'name':'indexname', 'ns': {$regex:'.collection$'}}];
32.Options for db.system.indexes.find[{'name':'indexname', 'ns': {$regex:'.collection$'}}];
32 indexes.Nếu một trường là một tài liệu hoặc mảng lồng nhau, chỉ số ký tự đại diện được đặt vào tài liệu/mảng và chỉ mục tất cả các trường vô hướng trong tài liệu/mảng.
Chỉ mục được tạo có thể hỗ trợ các truy vấn trên bất kỳ trường vô hướng nào ngoại trừ các truy cập được loại trừ bởi
{ "wildcardProjection" : { "_id" : 1, "" : 0|1 } }
7:except those excluded by { "wildcardProjection" : { "_id" : 1, "" : 0|1 } }
7:if[db.system.indexes.find[{name:'indexname',ns:{$regex:'.collection$'}}].count[]==0] {
db.collection.createIndex[{blah:1},{name:'indexname'}]
}
5Ghi chú
Các chỉ mục ký tự đại diện không hỗ trợ các câu lệnh bao gồm và loại trừ trộn trong tài liệu
{ "wildcardProjection" : { "_id" : 1, "" : 0|1 } }
7 trừ khi rõ ràng bao gồm cả trường { "wildcardProjection" : { "_id" : 1, "" : 0|1 } }
8. Để biết thêm thông tin về { "wildcardProjection" : { "_id" : 1, "" : 0|1 } }
7, hãy xem tài liệu tham số.parameter documentation.Ghi chú
Các chỉ mục ký tự đại diện không hỗ trợ các câu lệnh bao gồm và loại trừ trộn trong tài liệu { "wildcardProjection" : { "_id" : 1, "" : 0|1 } }
7 trừ khi rõ ràng bao gồm cả trường { "wildcardProjection" : { "_id" : 1, "" : 0|1 } }
8. Để biết thêm thông tin về { "wildcardProjection" : { "_id" : 1, "" : 0|1 } }
7, hãy xem tài liệu tham số.
{ "wildcardProjection" : { "_id" : 1, "" : 0|1 } }
{ "wildcardProjection" : { "_id" : 1, "" : 0|1 } }
{ "wildcardProjection" : { "_id" : 1, "" : 0|1 } }
Hãy xem xét một bộ sưu tập
db.system.indexes.find[{'name':'indexname', 'ns': {$regex:'.collection$'}}];
09 trong đó các tài liệu có thể chứa trường db.system.indexes.find[{'name':'indexname', 'ns': {$regex:'.collection$'}}];
10. Trường db.system.indexes.find[{'name':'indexname', 'ns': {$regex:'.collection$'}}];
10 có thể chứa các trường lồng nhau tùy ý, bao gồm các tài liệu và mảng nhúng:Hoạt động sau tạo chỉ mục ký tự đại diện và sử dụng tài liệu
{ "wildcardProjection" : { "_id" : 1, "" : 0|1 } }
7 để lập chỉ mục tất cả các trường vô hướng cho mỗi tài liệu trong bộ sưu tập, không bao gồm các trường db.system.indexes.find[{'name':'indexname', 'ns': {$regex:'.collection$'}}];
27 và db.system.indexes.find[{'name':'indexname', 'ns': {$regex:'.collection$'}}];
28:Trong khi mẫu chính
db.collection.createIndex[ { "a": 1 }, { unique: true, sparse: true, expireAfterSeconds: 3600 } ]
3 bao gồm tất cả các trường trong tài liệu, trường { "wildcardProjection" : { "_id" : 1, "" : 0|1 } }
7 không bao gồm các trường được chỉ định từ chỉ mục. Để biết tài liệu đầy đủ trên { "wildcardProjection" : { "_id" : 1, "" : 0|1 } }
7, hãy xem các tùy chọn cho các chỉ mục db.system.indexes.find[{'name':'indexname', 'ns': {$regex:'.collection$'}}];
32.Chỉ mục được tạo có thể hỗ trợ các truy vấn trên bất kỳ trường vô hướng nào ngoại trừ các truy cập được loại trừ bởi
{ "wildcardProjection" : { "_id" : 1, "" : 0|1 } }
7:commitQuorum parameter to the db.system.indexes.find[{'name':'indexname', 'ns':'dbname.collection'}];
90 operation to set the minimum number of data-bearing voting members [i.e commit quorum], including the primary, which must complete
the index build before the primary marks the indexes as ready. The default commit quorum is db.system.indexes.find[{'name':'indexname', 'ns': {$regex:'.collection$'}}];
56, or all data-bearing voting replica set members.Yêu cầu FeatureCompitionVersion 4.4+commit quorum of
storageEngine: { : }
3, or a simple majority of data-bearing voting members:if[db.system.indexes.find[{name:'indexname',ns:{$regex:'.collection$'}}].count[]==0] {
db.collection.createIndex[{blah:1},{name:'indexname'}]
}
6Mỗi
db.collection.createIndex[ { "a": 1 }, { unique: true, sparse: true, expireAfterSeconds: 3600 } ]
6 trong tập hợp bản sao hoặc cụm bị che chắn phải có FeatureCompitionVersion được đặt thành ít nhất db.system.indexes.find[{'name':'indexname', 'ns':'dbname.collection'}];
05 để bắt đầu xây dựng chỉ số đồng thời trên các thành viên tập hợp bản sao.Phần chỉ mục của hướng dẫn này để tài liệu đầy đủ về các chỉ mục và lập chỉ mục trong MongoDB.
58 để xem các thông số kỹ thuật của các chỉ mục hiện có cho một bộ sưu tập.db.system.indexes.find[{'name':'indexname', 'ns': {$regex:'.collection$'}}];
Chỉ mục văn bản để biết chi tiết về việc tạo chỉ mục
11.db.system.indexes.find[{'name':'indexname', 'ns':'dbname.collection'}];
Chỉ số không gian địa chỉ cho các truy vấn không gian địa lý.
TTL chỉ mục để hết hạn dữ liệu.