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

436
Visualizações
mangosta guardar vs insertar vs crear

¿Cuáles son las diferentes formas de insertar un documento (registro) en MongoDB usando Mongoose?

Mi intento actual:

 var mongoose = require('mongoose'); var Schema = mongoose.Schema; var notificationsSchema = mongoose.Schema({ "datetime" : { type: Date, default: Date.now }, "ownerId":{ type:String }, "customerId" : { type:String }, "title" : { type:String }, "message" : { type:String } }); var notifications = module.exports = mongoose.model('notifications', notificationsSchema); module.exports.saveNotification = function(notificationObj, callback){ //notifications.insert(notificationObj); won't work //notifications.save(notificationObj); won't work notifications.create(notificationObj); //work but created duplicated document }

¿Alguna idea de por qué insertar y guardar no funciona en mi caso? Intenté crear, insertó 2 documentos en lugar de 1. Eso es extraño.

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

0

.save() es un método de instancia del modelo, mientras que .create() se llama directamente desde el Model como una llamada de método, siendo de naturaleza estática, y toma el objeto como primer parámetro.

 var mongoose = require('mongoose'); var notificationSchema = mongoose.Schema({ "datetime" : { type: Date, default: Date.now }, "ownerId":{ type:String }, "customerId" : { type:String }, "title" : { type:String }, "message" : { type:String } }); var Notification = mongoose.model('Notification', notificationsSchema); function saveNotification1(data) { var notification = new Notification(data); notification.save(function (err) { if (err) return handleError(err); // saved! }) } function saveNotification2(data) { Notification.create(data, function (err, small) { if (err) return handleError(err); // saved! }) }

Exporte las funciones que desee fuera.

Más en Mongoose Docs , o considere leer la referencia del prototipo del Model en Mongoose.

over 4 years ago · Santiago Trujillo Relatório

0

Puede usar save() o create() .

save() solo se puede usar en un nuevo documento del modelo, mientras que create() se puede usar en el modelo. A continuación, he dado un ejemplo simple.

Modelo de viaje

 const mongoose = require("mongoose"); const tourSchema = new mongoose.Schema({ name: { type: String, required: [true, "A tour must have a name"], unique: true, }, rating: { type: Number, default:3.0, }, price: { type: Number, required: [true, "A tour must have a price"], }, }); const Tour = mongoose.model("Tour", tourSchema); module.exports = Tour;

Controlador de recorrido

 const Tour = require('../models/tourModel'); exports.createTour = async (req, res) => { // method 1 const newTour = await Tour.create(req.body); // method 2 const newTour = new Tour(req.body); await newTour.save(); }

Asegúrese de utilizar el Método 1 o el Método 2.

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