Tengo MongoDB server version: 5.0.6 instalada y usé "mongoose": "^6.0.14" para crear una validación de modelo. Ejemplo de modelo:
const User = new Schema({ name: { type: String }, relationId: { type: Number, unique: true, required: 'Id in SQL DB' }, }); Ahora no necesito que se requiera el ID de relationId . En realidad, quiero eliminarlo de la base de datos, pero no puedo. Y no puedo cambiar el comportamiento del validador. Lo intenté:
Modificó el esquema Mongoose para:
const User = new Schema({ name: { type: String } });Como administrador en la base de datos lanzó el comando:
db.runCommand({ collMod: "users", validator: {}, validationLevel: "off" }) Devuelve un {ok:1} pero cuando intento insertar un documento a través de Mongoose todavía tiene el error: 11000 duplicate key error collection: collection.users index: relationId already exists
también lo usé
db.users.updateMany({}, {$unset: {relationId: ''}})
Dado que tenía la parte unique: true en la definición del esquema, mangosta ya ha creado un índice único en la base de datos. Eliminarlo de la definición del esquema no elimina automáticamente el índice de la base de datos. Debe soltar el índice manualmente. Puede usar syncIndexes para eliminar el índice de la base de datos.