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

Kiểm tra xem một Chỉ mục có tồn tại trong mongodb hay không

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 () 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:

  1. Kể từ phiên bản 3.0, chúng tôi có thể sử dụng db.names.getIndexes() nơi names là tên của bộ sưu tập. Tài liệu ở đây.
  2. Trước phiên bản 3.0, bạn có thể truy cập system.indexes thu thập và thực hiện find như bri mô tả bên dưới.


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. (MongoDB Java) $ đẩy vào mảng

  2. MongoDB $ dayOfMonth

  3. Mongocli có hỗ trợ URL công thức cho chip Apple M1 không?

  4. Xây dựng các API REST bằng EVE

  5. Điền vào một mô hình mongoose với một trường không phải là id