2013-01-02 3 views
9

私は存在する必要があるエンティティにフィールドを持っていますが、必ずしも一意である必要はありません。 Mongoにこの制約を適用する方法はありますか?フィールドがnull/absent/emptyにならないようにするためのmongoインデックスの作成方法

私はmongoコレクションがスキーマレスであり、コレクションが持つことができる唯一のスキーマはインデックススキーマであることを理解しています。

!value && value !== 0 && value !== false 

答えて

6

のみUNIQUEインデックス上、することができます種類のモック:フィールドの値が空のフィールド値は次のJavaScript式を満たす場合には、空でないことを確認するためのインデックスのオプションがある場合しかし、私は表示されませんこの。項目/値が入力されていない文書を作成すると、索引にNULL値の文書が作成され、さらに欠損値は許可されません。

あなたの要件はNON UNIQUEキーであるため、MONGODB(v2.2)のこの時点では、インデックスされた列に値が存在する必要があるというオプションはないと思います。

+3

V3.2からこれが可能になりました。詳細はhttps://docs.mongodb.com/manual/core/document-validation/をご覧ください。 – pokkie

3

mongodbでは、_idフィールドのみが要件を満たすことができます。インデックス作成は、この問題のための良いアイデア(実行可能なものでもない)のようではありません。

私はあなたのアプリでの挿入と更新の操作で、このルールを守らなければならないと思っています。

関連する問題