mongoDB - problema al recuperar y populate un documento de la colección alumno con node en mlab

 
Vista:
sin imagen de perfil
Val: 1
Ha mantenido su posición en mongoDB (en relación al último mes)
Gráfica de mongoDB

problema al recuperar y populate un documento de la colección alumno con node en mlab

Publicado por Juan Carlos (1 intervención) el 02/12/2018 20:16:52
gracias lo primero de todo, es mi primer post

Tengo un problema al recuperar y populate un documento de la colección alumno con node en mlab

Tengo dos Schemas

Schema Colección alumnos

const mongoose = require('mongoose');

Const ObjectId = mongoose.Schema.Types.ObjectId;

Const Schema = mongoose.Schema;

const alumnoSchema = new Schema({

idContacto; { type: ObjectId, ref: 'Datos' },

estado: { type: String, required: false,default: 'Activo'}

// etc…

});

module.exports = mongoose.model('Alumnos', alumnosSchema);


2) Schema colección contactos

var mongoose = require('mongoose');

var Schema = mongoose.Schema;

const datosSchema = new Schema({

referencia: { type: String, required: false },

nombre: { type: String, required: true},

apellidos: { type: String, required: false }

});

module.exports = mongoose.model('Contactos', contactosSchema);


cuando guardo el documento alumno en mlab me lo guarda con estos datos, donde en lugar de id me añade el objeto $oid al _id

{

"_id": {

"$oid": "5c03ae062bb7022f3438e701"

},

"idContacto": {

"$oid": "5c03ae062bb7022f3438e700"

},

"estado": "Activo",

"__v": 0

}

Y para recuperar el docomento lo hago con

const express = require('express');

const app = express();

const Alumnos = require('../models/alumnos');

const Datos = require('../models/datos');

app.get('/alumnos', (req, res, next) => {

Alumnos.find({})

.populate('Contactos')

.exec(

(err, alumnos) => {

if (err) {

return res.status(500).json({

ok: false,

mensaje: 'Error cargando alumnos',

errors: err

});

}

res.status(200).json({

ok: true,

alumnos: alumnos

});

});

});

Y como resultado me da:

{

"ok": true,

"alumnos": [

{

"idContacto": "5c03ae062bb7022f3438e700", // <--- aqui deberia de mostrarse un objeto del documento contacto

"__v": 0,

"estado": "Activo"

}

]
}

Es decir, solo me muestra el id de idContato, no me muestra el objeto completo del contacto.

¿Qué puede estar mal?

Gracias por adelantado
Juan Carlos
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