cuốn sách gpt4 ai đã làm

MongoDB: chỉ mục

In lại Tác giả: Người biết Thời gian cập nhật: 2024-03-13 05:56:39 28 4
mua khóa gpt4 Nike

MongoDB: chỉ mục

1. Tạo chỉ mục

Theo mặc định, trường _id trong bộ sưu tập là chỉ mục, chúng ta có thể chuyểngetIndexes()Phương pháp xem chỉ mục trong bộ sưu tập

> db.user.getIndexes() [ { "v" : 2, "key" : { "_id" : 1 }, "name" : "_id_" } ]

Ở đây chúng ta có thể thấy rằng chỉ có một chỉ mục của _id

Ở đây chúng ta tạo chỉ mục (1 nghĩa là thứ tự tăng dần, -1 nghĩa là thứ tự giảm dần)

> db.user.createIndex({"name":1}) { "numIndexesBefore" : 1, "numIndexesAfter" : 2, "createdCollectionAutomatically" : false, "ok" : 1 }

createIndex() nhận các tham số tùy chọn

tham số Kiểu Sự miêu tả
lý lịch Boolean Quá trình xây dựng chỉ mục sẽ chặn các hoạt động cơ sở dữ liệu khác có thể được chỉ định để tạo chỉ mục trong nền, nghĩa là thêm tham số tùy chọn "nền". giá trị mặc định "nền" là sai
độc nhất Boolean Liệu chỉ mục được tạo có phải là duy nhất hay không. Chỉ định true để tạo chỉ mục duy nhất. Giá trị mặc định là sai
tên sợi dây Tên của chỉ mục. Nếu không được chỉ định, MongoDB sẽ tạo tên chỉ mục bằng cách ghép tên trường của chỉ mục và thứ tự sắp xếp.
thảDups Boolean Có xóa bản ghi trùng lặp khi tạo chỉ mục duy nhất hay không, hãy chỉ định true để tạo chỉ mục duy nhất. Giá trị mặc định là sai
thưa thớt Boolean Lập chỉ mục không được kích hoạt cho dữ liệu trường không tồn tại trong tài liệu. Thông số này đòi hỏi sự chú ý đặc biệt. Nếu được đặt thành true, các tài liệu không bao gồm trường tương ứng sẽ không được truy vấn trong trường chỉ mục. Giá trị mặc định là sai
hết hạnSau giây số nguyên Chỉ định một giá trị tính bằng giây để hoàn tất cài đặt TTL và đặt thời gian tồn tại của bộ sưu tập.
v phiên bản chỉ mục Số phiên bản của chỉ mục. Số phiên bản chỉ mục mặc định phụ thuộc vào số phiên bản được mongod thực thi khi tạo chỉ mục.
trọng lượng tài liệu Giá trị trọng số chỉ số. Giá trị nằm trong khoảng từ 1 đến 99.999, biểu thị trọng số điểm của chỉ mục so với các trường chỉ mục khác.
ngôn ngữ mặc định sợi dây Để lập chỉ mục văn bản. Tham số này xác định danh sách các từ dừng và quy tắc cho gốc và mã thông báo. Mặc định là tiếng Anh
ngôn ngữ_override sợi dây Để lập chỉ mục văn bản. Tham số này chỉ định tên trường có trong tài liệu. Ngôn ngữ ghi đè ngôn ngữ mặc định, mặc định là ngôn ngữ.

chỉ mục duy nhất

Miễn là một trường được chỉ định là duy nhất thì giá trị trường giống nhau không được phép tồn tại trong cùng một bộ sưu tập.MongoDBChỉ mục duy nhất được tạo theo mặc định là _id.
Một chỉ mục duy nhất thường được tạo như thế này:

> db.members.createIndex( { "user_id": 1 }, { Unique: true } )

Chỉ mục đơn tạo ra một chỉ mục duy nhất, chẳng hạn như:

> db.persons.createIndex({name:1},{unique:true})

Khóa tổng hợp tạo các chỉ mục duy nhất, chẳng hạn như:

> db.persons.createIndex({name:1,email:1},{unique:true})

chỉ số tổng hợp

Khi có nhiều điều kiện truy vấn, chúng ta cần tạo chỉ mục tổng hợp.

Chỉ mục tổng hợp là chỉ mục trên hai trường trở lên và nó có thể hỗ trợ các truy vấn dựa trên các trường này

db.COLLECTION_NAME.createIndex(key1:1,key2:1)

chỉ mục đa phím

Nếu tài liệu chứa trường kiểu mảng, bạn có thể lập chỉ mục trực tiếp tên của nó để MongoDB sẽ tạo chỉ mục độc lập cho từng phần tử trong mảng được nhúng.

Lưu ý: Đánh chỉ mục nhiều khóa không tương đương với việc tạo chỉ mục trên trường nhiều cột (chỉ mục tổng hợp)

Chỉ mục nhiều khóa được tạo theo dạng giống như chỉ mục một khóa, sự khác biệt nằm ở loại trường.

ngữ pháp:

db.COLLECTION_NAME.createIndex({key:< 1 hoặc -1 >})

Ví dụ: Tại thời điểm này, chúng tôi tạo chỉ mục cho trường cấu trúc của bộ sưu tập giấy tờ.

> db.papers.createIndex({structures:1})

Vì trường cấu trúc là một mảng nên chỉ mục này được gọi là chỉ mục đa khóa.

chỉ số một phần

Chỉ mục một phần là chỉ mục có điều kiện lọc, nghĩa là chỉ mục chỉ tồn tại trên một số tài liệu nhất định.

ngữ pháp:

db.collection.createIndex(phím, tùy chọn)

các tùy chọn có thể sử dụng một phầnFilterExpression, đây là biểu thức lọc một phần có loại là loại tài liệu

Các biểu thức lọc thường bao gồm: $exists, $gt, $gte, $lt, lte, lte,lte,type,$and

Ví dụ:

db.persons.createIndex({name:1},{partialFilterExpression:{age: {$gt:25}}})

Câu này có nghĩa là: Tạo chỉ mục một phần dựa trên cột tuổi lớn hơn 25 tuổi.

chỉ mục văn bản

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. 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.

Chỉ mục văn bản, như tên cho thấy, được sử dụng để tìm kiếm văn bản. Nó có thể được sử dụng để tìm kiếm tất cả các giá trị hoặc giá trị tương ứng với một trường được chỉ định. Miễn là giá trị tương ứng của trường là một chuỗi hoặc giá trị tương ứng là một mảng và các phần tử trong mảng là chuỗi thì chỉ mục văn bản có thể lập chỉ mục cho trường.

Để tạo chỉ mục văn bản, hãy sử dụng phương thức db.collection.createIndex(). Để lập chỉ mục một trường chứa một chuỗi hoặc một mảng các phần tử chuỗi, hãy bao gồm trường đó và chỉ định "văn bản" chuỗi ký tự trong tài liệu chỉ mục.

Ví dụ:

> db.collection.createIndex({keys:”text”}) > db.collection.createIndex({subject:”text”,comments:”text”})

2. Xem chỉ mục

getIndexes() có thể được sử dụng để xem tất cả các chỉ mục của bộ sưu tập

> db.exams.getIndexes() [ { "v" : 2, // Phiên bản chỉ mục "key" : { // Các trường được lập chỉ mục và hướng sắp xếp "_id" : 1 // Lập chỉ mục theo thứ tự tăng dần dựa trên trường _id}, "name " : "_id_", //Tên chỉ mục "ns" : "Steam.exams" //Tên bộ sưu tập} ]

getIndexKeys() Xem các khóa chỉ mục

> db.exams.getIndexKeys() [ { "_id" : 1 } ]

TotalIndexSize() Xem tổng kích thước của chỉ mục bộ sưu tập

> db.exams.totalIndexSize() 65536

phương thức getIndexSpecs() để xem thông tin chi tiết db của từng chỉ mục trong bộ sưu tập

3. Xóa chỉ mục

Phương thức dropIndex() được sử dụng để xóa chỉ mục đã chỉ định
Phương thức dropIndexes() được sử dụng để xóa tất cả các chỉ mục

Ví dụ 1: Cách sử dụng dropIndex()

> db.users.dropIndexes()
28 4 0
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress