MongoDB cung cấp một số cách để giảm chỉ mục hoặc các chỉ mục.
Để giảm một chỉ mục, bạn có thể sử dụng dropIndex()
phương pháp.
Để bỏ nhiều chỉ mục, bạn có thể sử dụng dropIndexes()
hoặc dropIndexes
lệnh quản trị.
dropIndex()
Phương pháp
Nếu bạn chỉ cần giảm một chỉ mục, bạn có thể sử dụng dropIndex()
phương pháp. Phương thức này chấp nhận tên chỉ mục hoặc tài liệu đặc tả của nó.
Dưới đây là một ví dụ về việc giảm một chỉ mục bằng cách sử dụng tên chỉ mục:
db.bars.dropIndex("location_2dsphere")
Đầu ra:
{ "nIndexesWas" : 3, "ok" : 1 }
Điều này cho chúng tôi biết rằng chỉ mục được gọi là location_2dsphere
đã được bỏ thành công.
Dưới đây là một ví dụ về việc giảm một chỉ mục bằng cách chuyển tài liệu đặc tả của nó:
db.bars.dropIndex( { "name" : 1 } )
Đầu ra:
{ "nIndexesWas" : 2, "ok" : 1 }
Có thể thấy chỉ số này cũng bị giảm. Chỉ mục này có đặc điểm kỹ thuật là { "name" : 1 }
, là tài liệu đặc tả tôi đã sử dụng khi tạo chỉ mục.
dropIndex()
phương thức là một trình bao bọc xung quanh dropIndexes
lệnh.
dropIndexes()
Phương pháp
dropIndexes()
có thể hữu ích nếu bạn cần giảm nhiều hơn một chỉ mục. Bạn cũng có thể bỏ một chỉ mục duy nhất, nó chỉ có thêm khả năng là có thể bỏ nhiều (hoặc tất cả) chỉ mục.
Phương thức này chấp nhận tên chỉ mục hoặc tài liệu đặc tả của nó cho từng chỉ mục được thả xuống. Nếu bạn giảm nhiều hơn một chỉ mục, bạn phải cung cấp tên / tài liệu đặc điểm kỹ thuật của chúng trong một mảng.
Dưới đây là một ví dụ về việc loại bỏ hai chỉ mục bằng cách sử dụng tên chỉ mục của chúng:
db.pets.dropIndexes( [ "type_1", "name_1" ])
Đầu ra:
{ "nIndexesWas" : 3, "ok" : 1 }
Lưu ý rằng, nếu đó là chỉ mục văn bản, bạn chỉ có thể chỉ định tên chỉ mục.
Bạn có thể bỏ tất cả các chỉ mục (ngoại trừ _id
index) bằng cách bỏ qua hoàn toàn tham số:
db.pets.dropIndexes()
dropIndexes()
phương thức là một trình bao bọc xung quanh dropIndexes
lệnh.
dropIndexes
Lệnh
dropIndexes
cho phép bạn làm điều tương tự mà dropIndexes()
phương pháp. Như đã đề cập, dropIndexes()
phương thức là một trình bao bọc xung quanh dropIndexes
lệnh
Dưới đây là một ví dụ về việc giảm một chỉ mục:
db.runCommand( { dropIndexes: "posts", index: "title_1" })
Đầu ra:
{ "nIndexesWas" : 4, "ok" : 1 }
Và đây là một ví dụ về việc giảm nhiều chỉ mục:
db.runCommand( {
dropIndexes: "posts",
index: [ "tags_1", "body_text" ]
})
Kết quả:
{ "nIndexesWas" : 3, "ok" : 1 }
Để loại bỏ tất cả các chỉ mục (ngoại trừ _id
chỉ mục), sử dụng ký tự đại diện dấu hoa thị (*
):
db.runCommand( { dropIndexes: "posts", index: "*" })
Kết quả:
{ "nIndexesWas" : 4, "msg" : "non-_id indexes dropped for collection", "ok" : 1 }