Estoy tratando de exportar un archivo de Excel a Mongodb. He usado convertir Excel a la biblioteca Json. He creado las claves usando mongoose.schema. He mantenido el correo electrónico como único: verdadero, pero cuando los datos de Excel se cargan en mongodb, el documento de correo electrónico repetido aparece en la base de datos (que no quiero porque he mantenido el correo electrónico como único: verdadero).
Estoy compartiendo mi código node.js.
'use strict'; const excelToJson = require('convert-excel-to-json'); // -> Read Excel File to Json Data const excelData = excelToJson({ sourceFile: 'Klimb Assignment - Add from Excel Data.xlsx', name: 'Participants', header:{ // Is the number of rows that will be skipped and will not be present at our result object. Counting from top to bottom rows: 1 // 2, 3, 4, etc. }, columnToKey: { '*': '{{columnHeader}}', } }); const mongoose = require('mongoose'); main().catch(err => console.log(err)); async function main() { await mongoose.connect('mongodb://localhost:27017/mydb'); } const excelSchema = new mongoose.Schema({ 'Name of the Candidate': { type : String, required : true}, 'Email' : { type : String, required : true, unique : true}, 'Mobile No.': Number, 'Date of Birth': String, 'Work Experience': String, 'Resume Title': String, 'Current Location': String, 'Postal Address': String, 'Current Employer': String, 'Current Designation': String }); const excel = mongoose.model('aspirants', excelSchema); excel.create(excelData.Sheet1, function(err){ if (err) throw err; });Utilicé excel.create y dentro de create pasé la matriz que se recuperó del archivo JSON.
Además, me gustaría aclarar que mi código no tiene error de sintaxis. Hay algún tipo de error que no soy capaz de encontrar. Instalé todos los archivos node.js necesarios y todos ellos tienen las últimas versiones.
Sorprendentemente , el código se ejecutó correctamente solo 1 vez. Después no funciona correctamente.
Tu ayuda es altamente apreciada.
El archivo de Excel consta de una entrada repetida (correo electrónico) y debería arrojar el error de entrada repetida.
¿Alguien puede encontrar el error?