【发布时间】:2022-04-28 02:27:40
【问题描述】:
我已安装 MongoDB server version: 5.0.6 并使用 "mongoose": "^6.0.14" 创建模型验证。模型示例:
const User = new Schema({
name: {
type: String
},
relationId: {
type: Number,
unique: true,
required: 'Id in SQL DB'
},
});
现在我不需要relationId。实际上我想从数据库中删除它,但我不能。而且我不能改变验证者的行为。我试过了:
将 Mongoose 架构修改为:
const User = new Schema({
name: {
type: String
}
});
作为数据库中的管理员抛出了命令:
db.runCommand({ collMod: "users", validator: {}, validationLevel: "off" })
返回一个{ok:1},但是当我尝试通过 Mongoose 插入文档时仍然出现错误:11000 duplicate key error collection: collection.users index: relationId already exists
我也用过
db.users.updateMany({}, {$unset: {relationId: ''}})
【问题讨论】: