Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

264
Visualizações
Mongoose guarda el objeto vacío pero el objeto no está vacío - Nodejs

Estoy tratando de analizar un archivo CSV (que puede contener varias entradas) y almacenar los datos directamente en mi mangosta DB. Mi código parece estar analizando los datos correctamente porque cuando depuro y observo rápidamente la variable "entidad" y "temp", veo las entradas de datos del CSV. Sin embargo, cuando voy a almacenar los objetos en la base de datos, veo objetos vacíos con solo una identificación generada automáticamente.

pruebaCSVfile.csv

 author, ownerName, authorID, contactInfo, published, summary jon doe, bob, 321, jondoe@gmail, 03/17, testing testing testing

Aquí está mi archivo uploadCSV.js

 const mongoose = require("mongoose"); const passport = require("passport"); const csvtojson = require("csvtojson"); const router = require("express").Router(); const bookModel= mongoose.model("Book"); const async = require('async'); csvtojson() .fromFile("testCSVfile.csv") .then(csvData => { async.eachSeries(csvData,(data,callback) => { let entity = { author: data.author, ownerName: data.ownerName, authorID: data.authorID, contactInfo: data.contactInfo, published: data.published, summary: data.summary }; bookModel.create({entity}, function(err) { if(err) return callback(err); return callback(null); }) }, (err) => { if(err) console.log(err); console.log("books are successfully imported!!!"); console.log(entity); }); });

Salida terminal

 [ [0] { [0] author: 'jon doe', [0] ownerName: 'bob', [0] authorID: '123', [0] contactInfo: 'jondoe@gmail', [0] published: '03/17', [0] summary: 'testing testing testing', [0] }

A partir de ahora, el archivo CSV es local, pero eventualmente será de un usuario que lo está cargando desde la interfaz. Aunque la variable de entidad tiene los datos correctos, no se guarda correctamente. Si alguien pudiera darme algún consejo sería muy apreciado!

over 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

No ha definido el esquema para su modelo de mangosta, por lo que le permitirá insertar cualquier cosa en la base de datos ya que el esquema está vacío.

https://mongoosejs.com/docs/guide.html#strict

La opción estricta (habilitada de forma predeterminada) garantiza que los valores pasados a nuestro constructor de modelos que no se especificaron en nuestro esquema no se guarden en la base de datos.

Cree su esquema de mangosta para el modelo

https://mongoosejs.com/docs/guide.html#definition

 const bookSchema = new mongoose.Schema({ author: String, ownerName: String, // ........ rest of your model properties }); const bookModel= mongoose.model("Book", bookSchema);

Cambio

 bookModel.create({entity}, function(err)

para

 bookModel.create(entity, function(err)
over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda