我创建了一个mongoose模型,它有一个email字段。我希望它是唯一的,如果一个值是由用户提供的,但我希望它是空的,是一个用户没有提供任何值。我在这里找到了一个很好的mongodb参考:https://docs.mongodb.com/manual/core/index-partial/#partial-index-with-unique-constraints,可以工作,但我不知道如何使它的工作 Mongoose
这就是现在的情况
email: {
type: String,
index: true,
unique: true
}
如果我让它的方式,我不能创建多个文档与空/空电子邮件字段
4条答案
按热度按时间0mkxixxg1#
在电子邮件路径级别,您只能使用:
在模式级别中,用途:
这样,只有当电子邮件存在且不是空字符串时,才应用唯一约束
blmhpbnm2#
你可以有这样的东西:
但在你真正实现它之前,请阅读下面的链接,因为默认值似乎只适用于新的文档插入:
Mongoose v5.6.9 Documentation
sbtkgmzw3#
可以使用sparse
这样,如果你根本不发送email字段,mongo不会自动为该字段添加空值。它只会跳过它。
w1jd8yoj4#
尝试为字段
topic
创建TTL索引,该字段与值DTC
和PDM
匹配。运行此命令后,将创建新的TTL索引,名称为
test_index
。结果:所有超过120秒且字段值为
DTC
或PDM
的文档将被删除。