JavaScript - mongoose objeto no relacional dentro de otro objeto, como hacer populate y post

 
Vista:
Imágen de perfil de Francisco
Val: 34
Ha disminuido su posición en 5 puestos en JavaScript (en relación al último mes)
Gráfica de JavaScript

mongoose objeto no relacional dentro de otro objeto, como hacer populate y post

Publicado por Francisco (5 intervenciones) el 19/10/2019 20:47:08
Hola les mando mi esquema hecho en mongoose.

Cliente.js

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
const mongoose = require('mongoose');
const { Schema } = mongoose;
 
const clienteSchema = new Schema({
 
    nombre: String,
    email: String,
    cuil: String,
    telefono: Number,
    direccion: {calle: String,
    numero: Number,
    piso: String,
    departamento: Number
    }
 
});
 
mongoose.model('clientes', clienteSchema);

Y estos son mis metodos post y get del controlador de clientes

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
31
32
33
34
35
36
37
38
39
40
41
42
app.get('/api/clientes', async (req, res) => {
    console.info('Obteniendo clientes');
    await Cliente.find().
    populate(clientes,{path:"direcciones"},function(err,clientes){
      res.send(clientes);
    });
 
  });
 
 
 
 
 
 
app.post('/api/clientes', async (req, res) => {
  const { nombre, email, cuil, telefono,direccion} = req.body;
 
  const cliente = new Cliente({
    nombre,
    email,
    cuil,
    telefono,
    direccion: new Direccion({
      calle: {type: String},
      numero:{type: Number},
      piso:{type: String},
      departamento:{type: Number}
    }), type:Object
  });
 
  try {
    let nuevoCliente = await cliente.save(); //Se maneja de modo asincrono, ejecuta un hilo programado en otro hilo.
 
    res.status(201).send(nuevoCliente); // 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);
  }
});



Ayúdenme, por favor. Ingreso al postman y cuando guardo el objeto me muestra la dirección como id, y yo quiero que me muestre lo que está adentro.

Se los agradecería muchísimo.

Saludos

Francisco
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