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

Tự động tạo chỉ mục với mongoid

Nói Model.index(:field => -1) , dù ít hay nhiều, chỉ cần đăng ký sự tồn tại của chỉ mục với Model , nó không thực sự tạo ra một chỉ mục. Bạn đang tìm kiếm create_indexes :

Vì vậy, bạn muốn nói:

Model.index(field: -1)
Model.create_indexes

Bạn cũng có thể tạo chúng trực tiếp thông qua Moped bằng cách gọi create trên các chỉ mục indexes của bộ sưu tập :

Mongoid::Sessions.default[:models].indexes.create(field: -1)
Model.collection.indexes.create(field: 1)
# or in newer versions:
Model.collection.indexes.create_one(field: 1)

Mongoid::Sessions đã được đổi tên thành Mongoid::Clients trong các phiên bản mới hơn, vì vậy bạn có thể cần phải nói:

Mongoid::Clients.default[:models].indexes.create(field: 1)
Model.collection.indexes.create(field: 1)
# or in even newer versions:
Model.collection.indexes.create_one(field: 1)

Cảm ơn js_ mltsy để ghi nhận những thay đổi này.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. django.core.exceptions.ImproperlyConfigured:'django_mongodb_engine' không phải là chương trình phụ trợ cơ sở dữ liệu có sẵn

  2. Mongodb:Sử dụng số lượng bản ghi trong tổng hợp sau một nhóm

  3. Đặt hàng và giới hạn dẫn đến một truy vấn có lệnh gọi lại

  4. Mongodb - nhóm $ bên trong nhóm $ (bằng 'key')

  5. Truy vấn Mongoose theo ngày