所以我只是尝试自定义 _id
在像这样的 Mongoose 模式中:
const userSchema = new mongoose.Schema({
_id: {
type: String,
required: true,
unique: true
},
...
...
})
并收到此消息:
mongoose: Cannot specify a custom index on _id for model name "SchemaName", MongoDB does not allow overwriting the default _id index.
事情是,一切都很好。我可以插入数据并像往常一样选择它。我应该对这条消息做些什么吗?
最佳答案
我认为错误出现在您尝试定义 required:true
时和 unqiue:true
, 如 _id
已经有了这个,也就是说你不能有 _id
即使 Mongoose 的条件不存在并且始终需要,也具有非唯一值。尝试删除这两个约束并只设置 type:String
这个消息应该消失
关于node.js - Mongoose :无法在 `_id` 上为模型名称 "SchemaName"指定自定义索引,MongoDB 不允许覆盖默认的 `_id` 索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62244478/