首页 文章

Mongoose具有唯一的布尔值true

提问于
浏览
0

我知道如何将字符串设置为我的架构上的唯一,如下所示:

string: { type: String, unique: true }

但是有没有办法在一个对象上使用具有true值的唯一boolean并使用false(默认设置)?我需要的是:如果我尝试保存具有true值的对象,并且返回一个true,则返回true .

谢谢您的帮助 .

2 回答

  • 3

    您可以使用MongoDB对3.2中添加的partial indexes的支持来实现此目的 .

    var mySchema = new Schema({ oneTrue: Boolean });
    mySchema.index({oneTrue: 1}, {unique: true, partialFilterExpression: {oneTrue: true}});
    

    这将在 oneTrue 字段上创建唯一索引,其值仅为 true . 这样,允许多个具有 false 值的文档,但只允许使用 true .

  • 0

    不,这是不可能的 .

    如果你看Mongoose Documentation for Unique Constraints,你可以看到它:

    声明一个唯一索引 .

    您需要实现自定义读/写过程才能实现您想要的目标 .

相关问题