我有一个包含“电子邮件”和“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" } }
用简单的英语来说,它类似于
email
and的连接friends_email
将是唯一的,null
并且undefined
合并为空字符串。
在 MongoDB 中执行此规则的最佳方法是什么?