Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/41.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 在nodejs中填充类型为';Schema.Types.ObjectId';返回空_Node.js_Mongoose_Node Modules_Mongoose Schema_Mongoose Populate - Fatal编程技术网

Node.js 在nodejs中填充类型为';Schema.Types.ObjectId';返回空

Node.js 在nodejs中填充类型为';Schema.Types.ObjectId';返回空,node.js,mongoose,node-modules,mongoose-schema,mongoose-populate,Node.js,Mongoose,Node Modules,Mongoose Schema,Mongoose Populate,我有一个模式,它的属性为“paciente”和“segurafiliado”,类型为Schema.Types.ObjectId 现在的结果是: [ { "_id": "5da619b36aae5e7028fc27db", "paciente": "5de31abf4c430918a39a7490", "seguroAfiliado": "5d65da2f008b72055d17abfb", "fecha": "2019-10

我有一个模式,它的属性为“paciente”和“segurafiliado”,类型为Schema.Types.ObjectId

现在的结果是:

[
    {
        "_id": "5da619b36aae5e7028fc27db",
        "paciente": "5de31abf4c430918a39a7490",
        "seguroAfiliado": "5d65da2f008b72055d17abfb",
        "fecha": "2019-10-01T03:00:00.000Z",
        "motivoConsulta": "dww",
        "__v": 0
    }
]
我需要这两个属性的名称以及在nodejs中填充的句子

app.get('/', [
    mdAutenticacion.verificaToken,
], (req, res, next) => {

    var desde = req.query.desde || 0;
    desde = Number(desde);

    CitaMedica.find({})
        .skip(desde)
        .populate('paciente', ''nombre)
        .populate('seguroAfiliado', 'nombre')
        .exec(
        (err, medicalAppointment) => {

        if ( err ) {
            return res.status(500).json({
                ok: false,
                mensaje: 'Error charging list',
                errors: err
            });
        };

        CitaMedica.count({}, (err, conteo) => {
            res.status(200).json(medicalAppointment);
        });
    });
});
尝试那些方法,但没有成功

segurafiliado模式

var mongoose = require('mongoose');

var Schema = mongoose.Schema;

var seguroAfiliadoSchema = new Schema({
    nombre: {
        type: String,
        require: false
    },
    numeroPoliza: {
        type: String,
        require: false
    },
    rif: {
        type: String,
        require: false
    },
    personaContacto: {
        type: String,
        require: false
    }, 
    em: {
        type: String,
        require: false
    }, 
    telefono: {
        type: String,
        require: false
    },
    email: {
        type: String,
        require: false
    },
    status: {
        type: String,
        require: false
    },
    imgSeguroAfiliado: {
        type: String,
        require: false
    },
    pais: {
        type: String,
        require: false
    },
    baremo: {
        type: String,
        require: false
    },
    actoQuirurgico: {
        type: String,
        require: false
    },
}, { collection: 'seguroAfiliado' });

module.exports = mongoose.model( 'Seguro Afiliado', seguroAfiliadoSchema );
var mongoose = require('mongoose');

var Schema = mongoose.Schema;

var citasMedicasSchema = new Schema({
    doctorId: {
        type: String,
        require: false
    },
    safeName: {
        type: String,
        require: false
    },
    paciente: {
        type: Schema.Types.ObjectId,
        require: false
    },
    seguroAfiliado: {
        type: Schema.Types.ObjectId,
        require: false
    },
    fecha: {
        type: String,
        require: false
    },
    motivoConsulta: {
        type: String,
        require: false
    },
}, { collection: 'citasMedicas' });

module.exports = mongoose.model( 'Citas Médicas', citasMedicasSchema );
CitasMedicas模式

var mongoose = require('mongoose');

var Schema = mongoose.Schema;

var seguroAfiliadoSchema = new Schema({
    nombre: {
        type: String,
        require: false
    },
    numeroPoliza: {
        type: String,
        require: false
    },
    rif: {
        type: String,
        require: false
    },
    personaContacto: {
        type: String,
        require: false
    }, 
    em: {
        type: String,
        require: false
    }, 
    telefono: {
        type: String,
        require: false
    },
    email: {
        type: String,
        require: false
    },
    status: {
        type: String,
        require: false
    },
    imgSeguroAfiliado: {
        type: String,
        require: false
    },
    pais: {
        type: String,
        require: false
    },
    baremo: {
        type: String,
        require: false
    },
    actoQuirurgico: {
        type: String,
        require: false
    },
}, { collection: 'seguroAfiliado' });

module.exports = mongoose.model( 'Seguro Afiliado', seguroAfiliadoSchema );
var mongoose = require('mongoose');

var Schema = mongoose.Schema;

var citasMedicasSchema = new Schema({
    doctorId: {
        type: String,
        require: false
    },
    safeName: {
        type: String,
        require: false
    },
    paciente: {
        type: Schema.Types.ObjectId,
        require: false
    },
    seguroAfiliado: {
        type: Schema.Types.ObjectId,
        require: false
    },
    fecha: {
        type: String,
        require: false
    },
    motivoConsulta: {
        type: String,
        require: false
    },
}, { collection: 'citasMedicas' });

module.exports = mongoose.model( 'Citas Médicas', citasMedicasSchema );
这一尝试的结果是:

[
    {
        "_id": "5da619b36aae5e7028fc27db",
        "paciente": null,
        "seguroAfiliado": null,
        "fecha": "2019-10-01T03:00:00.000Z",
        "motivoConsulta": "dww",
        "__v": 0
    }
]

您忘记了
ref
选项,该选项告诉Mongoose在填充过程中使用哪个模型。在您的情况下,CitasMedicas模式应该类似于:

var citasMedicasSchema = new Schema({
  ...
  paciente: {
    type: Schema.Types.ObjectId,
    ref: "RefModel",
    require: false
  },
  seguroAfiliado: {
    type: Schema.Types.ObjectId,
    ref: "RefModel",
    require: false
  },
  ...
}...

您忘记了
ref
选项,该选项告诉Mongoose在填充过程中使用哪个模型。在您的情况下,CitasMedicas模式应该类似于:

var citasMedicasSchema = new Schema({
  ...
  paciente: {
    type: Schema.Types.ObjectId,
    ref: "RefModel",
    require: false
  },
  seguroAfiliado: {
    type: Schema.Types.ObjectId,
    ref: "RefModel",
    require: false
  },
  ...
}...