独特的猫鼬无法正常工作

时间:2020-01-03 10:42:21

标签: node.js mongoose

我的猫鼬模式如下所示

 const mongoose = require('mongoose')
 const  Schema = mongoose.Schema

 const exampleSchema = new Schema ({
        name:{
            type: String,
            required: true
        },
        email: {
            type: String,
            required: true,
            unique: true
        },
        mobile:{
            type: String,
            required: true,
            unique: true
        }
    })

 module.exports ={Driver: mongoose.model('Driver', driverSchema)}

现在的事情是,在移动设备中唯一可以正常工作,但是在电子邮件中,它允许我插入重复的电子邮件地址。

2 个答案:

答案 0 :(得分:1)

您最好在mongodb shell中创建索引。

mongoose docs中,他们指出:

在生产环境中,您应该创建indexes 使用MongoDB外壳而不是依靠猫鼬来做 您。模式的唯一选项便于开发和 文档,但猫鼬不是索引管理解决方案。

因此,我将删除架构中的唯一选项,并可以在mongodb shell中创建唯一索引,如下所示:

db.drivers.createIndex( { "email": 1 }, { unique: true } )
db.drivers.createIndex( { "mobile": 1 }, { unique: true } )

答案 1 :(得分:0)

这是由于我在收集unique: true之前已经收集了记录。