0

Mongoid 4 (GitHub から直接マスター ブランチ) を使用する Rails 4.0.3 アプリにモデルがあり、複数のフィールドのインデックスが一意であることを確認し、重複を削除しようとしています。

class MyModel
  include Mongoid::Document  

  field :a, type: Integer
  field :b, type: Integer

  index({a: 1, b: 1}, {unique: true, dropDups: true, name: 'unique_drop_dups_idx'})

しかし、コマンドを実行してインデックスを作成すると、次のようになります。

 rake db:mongoid:create_indexes

次のエラーが表示されます。

Problem:
  Invalid index specification on MyModel: {:a=>1, :b=>1}, {:unique=>true, :dropDups=>true, :name=>"unique_drop_dups_idx"}
Summary:
  Indexes in Mongoid are defined as a hash of field name and direction/2d pairs, with a hash for any additional options.
Resolution:
  Ensure that the index conforms to the correct syntax and has the correct options.

dropDups重複が存在するために最終的に失敗した場合でも、オプションを削除すると、インデックスの作成が開始されます。

uniqueこのエラー メッセージは、この構成 ( + )では複数のフィールドにインデックスを作成できないことを意味しますdropDupsか? 他に何か不足していますか?

4

1 に答える 1