我在尝试使用猫鼬获取指定数据时遇到了麻烦。我不知道如何在另一个Schema的内部获取Schema的数据。
这是我的Reporte模式,在他内部,我通过他的ID与另一个模式建立了联系。
var reporteSchema = new Schema({
persona: { type: Schema.Types.ObjectId, ref: 'Persona' },
descripcion: { type: String, required: false },
categoria: { type: String, required: [true, 'La categoria es necesaria'] },
}, { collection: 'reportes' });
这是角色角色模式
var personaSchema = new Schema({
nombre: { type: String, required: [true, 'El nombre es necesario'] },
apellido: { type: String, required: [true, 'El apellido es necesario'] },
abogado: { type: Schema.Types.ObjectId, ref: 'Abogado', required: true },
fechaIngreso: { type: String, required: false },
}, { collection: 'personas' });
这是Abogado模式
var abogadoSchema = new Schema({
nombre: { type: String, required: [true, 'El nombre es necesario'] },
}, { collection: 'abogados' });
如果可以看到,Reporte schema 里面有Persona schema ,而里面有Abogado schema 。我的问题是要从Reporte中找到Abogado数据 。就像是架构的阶梯,我不知道如何获取数据。
我尝试过
Reporte.find({})
.select('persona') // I get the whole Persona data
.populate({ path: 'persona', select: 'abogado' }) // and now I just handle Abogado data
.exec( (err, data) => {} );
现在,我不知道如何来深入了解并获得ABOGADO的名称。