node.js - Mongoose 具有 true 的独特 bool 值

标签 node.js mongodb mongoose

我知道如何在我的架构中设置一个唯一的字符串,如下所示:

string: { type: String, unique: true }

但是有没有一种方法可以在对象上拥有具有 true 值的唯一 bool 值并使用 false (默认设置)?我需要的是:如果我尝试保存一个具有 true 值的对象,并且一个具有 true 值的对象已经存在,则会返回错误。

感谢您的帮助。

最佳答案

您可以使用 MongoDB 对 partial indexes 的支持来完成此操作这是在 3.2 中添加的。

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

这将仅在值为 trueoneTrue 字段上创建唯一索引。这样,就允许多个具有 false 值的文档,但只有一个值为 true 的文档。

关于node.js - Mongoose 具有 true 的独特 bool 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35407959/

相关文章:

javascript - AWS S3 - 我们计算的请求签名与您提供的签名不匹配。检查您的 key 和签名方法

javascript - 首先或之前验证 Controller 逻辑

mongodb - 如何将运行选项传递给 docker-compose

node.js - Mongoose - 获取新保存的内部记录的 _id

javascript - 避免 HTML 和脚本标签渲染

javascript - 我怎样才能连接到http ://localhost:4200 using browser which is a aws ec2

mongodb - $or 具有多个参数的查询

mongodb - 构建 mongo 镜像时找不到 systemctl

javascript - 错误 [ERR_HTTP_HEADERS_SENT] : Cannot set headers after they are sent to the client in Node JS

node.js - NodeJS 和 MongoDB 失去连接