Node.js 在nodejs中填充类型为';Schema.Types.ObjectId';返回空
我有一个模式,它的属性为“paciente”和“segurafiliado”,类型为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
[
{
"_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
},
...
}...