MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

3 cách để giảm chỉ mục trong MongoDB

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
}

  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Tạo Spring-data-mongodb nhiều người thuê

  2. Cách tổng hợp theo năm-tháng-ngày trên một múi giờ khác

  3. Trong mongoDb, làm cách nào để xóa một phần tử mảng theo chỉ mục của nó?

  4. MongoDB và khóa chính tổng hợp

  5. Làm cách nào để lấy một tài liệu nhúng cụ thể bên trong bộ sưu tập MongoDB?