Tạo chỉ mục trong MongoDB là một hoạt động lý tưởng. Vì vậy, chạy db.names.createIndex({name:1})
sẽ chỉ tạo chỉ mục nếu nó chưa tồn tại.
Bí danh không dùng nữa (kể từ MongoDB 3.0) cho createIndex () là ensureIndex () rõ ràng hơn một chút về cái gì createIndex()
thực sự có.
Chỉnh sửa: Cảm ơn ZitRo đã giải thích rõ trong nhận xét rằng việc gọi createIndex()
có cùng tên nhưng các tùy chọn khác với chỉ mục hiện có sẽ gây ra lỗi MongoError: Index with name: **indexName** already exists with different options
như đã giải thích trong câu hỏi này.
Nếu bạn có các lý do khác để kiểm tra, thì bạn có thể truy cập dữ liệu chỉ mục hiện tại bằng một trong hai cách:
- Kể từ phiên bản 3.0, chúng tôi có thể sử dụng
db.names.getIndexes()
nơinames
là tên của bộ sưu tập. Tài liệu ở đây. - Trước phiên bản 3.0, bạn có thể truy cập
system.indexes
thu thập và thực hiệnfind
như bri mô tả bên dưới.