Từ MongoDB 4.4, có thể ẩn một chỉ mục khỏi trình lập kế hoạch truy vấn. Điều này cho phép bạn đánh giá tác động tiềm ẩn của việc giảm chỉ mục mà không thực sự giảm chỉ mục.
Bạn có thể sử dụng getIndexes()
phương pháp để kiểm tra xem một chỉ mục có bị ẩn hay không. Nếu một chỉ mục bị ẩn, chỉ mục đó sẽ hiển thị hidden
trường có giá trị true
(tức là "hidden" : true
).
Ví dụ
Đây là một ví dụ về cách gọi getIndexes()
để trả về tất cả các chỉ mục trên một bộ sưu tập có tên là pets
:
db.pets.getIndexes()
Kết quả:
[ { "v" : 2, "key" : { "_id" : 1 }, "name" : "_id_" }, { "v" : 2, "key" : { "name" : 1, "type" : -1 }, "name" : "idx_name_1_type_-1" }, { "v" : 2, "key" : { "weight" : -1 }, "name" : "idx_weight_-1", "hidden" : true } ]
Chúng ta có thể thấy rằng có ba chỉ mục và chỉ mục thứ ba bị ẩn. Chúng tôi biết điều này vì nó có "hidden" : true
.