Recibo este error al intentar insertar datos en la colección MongoDB.
MongoError: E11000 duplicate key error collection: kaa.logs_96775772132708234336 index: id dup key: { _id: ObjectId('6001bdc2429b9313d755e106') }
Aquí está mi código:
MongoClient.connect(url, function(err, db) { if (err) throw err; var dbo = db.db("kaa"); dbo.collection("logs_96775772132708234336").insertOne(document, function(err, res) { if (err) throw err; console.log("1 document inserted"); console.log(res.insertedId); db.close(); }); });Cuando busco la misma identificación de objeto, obtengo datos. Parece que NodejS Mongo está creando una ID de objeto duplicada.
Cualquier ayuda es muy apreciada.
Sospecho que después de insertOn, el documento de su entidad está recibiendo _id archivado, lo que resulta en que está insertando el documento con ese _id nuevamente .
Verifique su documento después de insertarlo
console.log(document._id);Como en los documentos de mongo
Campo _id
Si el documento no especifica un campo _id, mongod agregará el campo _id y asignará un ObjectId único para el documento antes de insertarlo. La mayoría de los controladores crean un ObjectId e insertan el campo _id, pero mongod creará y completará el _id si el controlador o la aplicación no lo hacen.
Si el documento contiene un campo _id, el valor de _id debe ser único dentro de la colección para evitar errores de clave duplicada.
Tuve un error como ese antes y la solución fue eliminar la colección e intentarlo de nuevo.