Node.js - ingresar un servicio con un array de tareas

 
Vista:
Imágen de perfil de Francisco
Val: 1
Ha mantenido su posición en Node.js (en relación al último mes)
Gráfica de Node.js

ingresar un servicio con un array de tareas

Publicado por Francisco (1 intervención) el 01/09/2019 10:52:38
Buenas, les envío mi código, estoy creando un método que me permita ingresar en el postman un objeto servicio con un array de n tareas. Lo ingreso pero cuando ejecuto el get en el postman el array no se me muestra.

Les envío los esquemas: Servicio.js y Tarea.js

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
const mongoose = require('mongoose');
const { Schema } = mongoose;
 
const servicioSchema = new Schema({
  nombre: String,
  descripcion: String,
  precioPorHora: Number,
 tareas: [{type:mongoose.Schema.Types.ObjectId,ref:'tareas'}],
  fechaCreacion: Date,
  fechaActualizacion:Date
});
 
const servicio = mongoose.model('servicios', servicioSchema);
 
module.exports = servicio;
 
const mongoose = require('mongoose');
const { Schema } = mongoose;
 
const tareaSchema = new Schema({
  nombre: String,
  descripcion: String,
  estaFinalizada: Boolean,
  fechaCreacion: Date,
  fechaActualizacion: Date
});
 
mongoose.model('tareas', tareaSchema);


Y este es el metodo post de ServiciosControlador.js

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
app.post('/api/servicios', async (req,res) =>{
 
    const {nombre,descripcion,precioPorHora} = req.body;
 
    const servicio = new Servicio({
          nombre,
          descripcion,
          precioPorHora,
          tareas : [(new Tarea({
             nombre: {type: String},
             descripcion: {type: String},
             estaFinalizada:{type:Boolean,default: false},
             fechaCreacion: new Date(),
             fechaActualizacion: new Date()
          }))],
          fechaCreacion: new Date(),
          fechaActualizacion: new Date()
    });
    try {
      let nuevoServicio = await servicio.save(); //Se maneja de modo asincrono, ejecuta un hilo programado en otro hilo.
 
      res.status(201).send(nuevoServicio); // en el response le da el status, verifica y luego le da la tarea, despues del save, el save le da un id.
    } catch (err) {
      if (err.name === 'MongoError') {
        res.status(409).send(err.message);
      }
 
      res.status(500).send(err);
    }
}); //Se maneja de modo asincrono, ejecuta un hilo programado en otro hilo.


¿Pueden ayudarme, por favor?, muchas gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder