mongoose:无法在`_id` 上为模型名称“SchemaName”指定自定义索引,MongoDB 不允许覆盖默认的 `_id` 索引

Ful*_*ius 2 mongoose mongodb node.js

所以我只是尝试_id像这样自定义猫鼬模式:

const userSchema = new mongoose.Schema({
        _id: {
            type: String,
            required: true,
            unique: true
        },
        ...
        ...
})
Run Code Online (Sandbox Code Playgroud)

并收到此消息: mongoose: Cannot specify a custom index on _id for model name "SchemaName", MongoDB does not allow overwriting the default _id index.

事情是,一切都很好。我可以插入数据并像往常一样选择它。我应该对这条消息做些什么吗?

Ali*_*taf 13

我认为错误是出现与您试图定义required:trueunqiue:true,如_id将已经在这个地方,那就是你不能_id有非unqiue值,即使从猫鼬的条件是不存在的,它总是需要。尝试删除这两个约束并只设置type:String并且此消息应该消失