我知道如何将字符串设置为在我的架构上唯一,如下所示:
string: { type: String, unique: true }
但是有没有一种方法可以在对象上拥有具有 true 值的唯一布尔值并使用 false (默认设置)?我需要的是:如果我尝试保存一个具有 true 值的对象,并且一个具有 true 值的对象已经存在,则会返回错误。
感谢您的帮助。
您可以使用 MongoDB 的支持来做到这一点部分索引 https://docs.mongodb.org/manual/core/index-partial/这是在 3.2 中添加的。
var mySchema = new Schema({ oneTrue: Boolean });
mySchema.index({oneTrue: 1}, {unique: true, partialFilterExpression: {oneTrue: true}});
这将在上创建唯一索引oneTrue
仅在其值为的字段true
。这样,多个文档false
值是允许的,但只有一个true
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)