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

130
Visualizações
¿La mangosta filtra propiedades adicionales?

Estoy a punto de trabajar en una nueva aplicación. Y hemos decidido usar mongo como nuestra base de datos para la creación rápida de prototipos junto con mongoose para un orm. Mi pregunta es, después de declarar un nuevo modelo. Cuando intento guardar un nuevo modelo, ¿filtrará las claves adicionales? Por ejemplo. Digamos que un modelo tiene un name de propiedad. ¿El modelo ignorará las teclas adicionales?

 let user = new User({ name:"bob", randomKey: "" }); user.save();

La razón es porque quiero poder hacer esto en un controlador expreso.

 let user = new User({ ...req.body}); user.save();

O en los casos en que un esquema tiene muchos accesorios.

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

0

Sí, mongoose no guarda los campos que no están presentes en la definición del esquema.

Esquema del estudiante: -

 var Student = mongoose.model('Student', { name: String, event : String });

Publicar solicitud:-

 { "name" : "extra fields", "event" : "from postman", "event2" : "not on schema" }

Recopilación:-

El atributo event2 (que no forma parte del esquema del alumno) no se ha guardado.

 { "_id" : ObjectId("5901d1d830fa36f020e88ea7"), "name" : "extra fields", "event" : "from postman", "__v" : 0 }

Problema de guardado del esquema Mongoose

over 4 years ago · Santiago Trujillo Relatório

0

Este es ahora un cambio importante en v4.13.19. (al menos en adelante v4.13.19)

Ahora solo puedes -

  1. Guarde los campos descritos en el esquema (estricto: verdadero)
  2. O haga estricto: falso, y permita que cualquier cosa se salve.

https://github.com/Automattic/mongoose/issues/4801

over 4 years ago · Santiago Trujillo Relatório

0

Mongoose no guardará ningún campo que no esté presente en el esquema, debe definir un esquema como:

 var mongoose = require('mongoose'); var Schema = mongoose.Schema; var productSchema = new Schema({ title: String, author: String }); module.exports = mongoose.model('Product', productSchema);

producto de ahorro

 var newProduct = new Product(); // set the user's local credentials newProduct.title = title; newProduct.author = author; newProduct.addintionalData = 'RandomData'; //wont save this data newProduct.save();
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