フィールド「email」と「friends_email」を持つコレクションがあります。MongoDB を使用して、次のような一意性制約を設定したいと思います。
email と friends_email の値が同じになるレコードはありません。したがって、これは無効になります。
{"email": "abc@example.com", "friends_email": "abc@example.com" }
すべてのフィールドで同じ値を持つレコードは 2 つとありません。したがって、次の例はすべて無効になります。
{ { "email": "abc@example.com", "friends_email": "def@example.com" }, { "email": "abc@example.com", "friends_email": "def@example.com" } } { { "email": "abc@example.com", "friends_email": null }, { "email": "abc@example.com", "friends_email": null } } { { "email": null, "friends_email": "abc@example.com" }, { "email": null, "friends_email": "abc@example.com" } }
平易な英語で言うと、and の連結は
email
一意friends_email
になり、null
andundefined
は空の文字列に合体します。
MongoDB でこのルールを適用する最善の方法は何ですか?