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

 
Vista:
Imágen de perfil de Francisco
Val: 2
Ha disminuido su posición en 11 puestos 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