这是我的计划,我想做一个查询并获取所有文档和所有对象的文档.
var CureSchema = mongoose.Schema({
id: Number,
therapist: {type:mongoose.Schema.Types.ObjectId, ref:'User'},
supervisor: {type:mongoose.Schema.Types.ObjectId, ref:'User'},
parents: {type:mongoose.Schema.Types.ObjectId, ref:'User'},
children: {type:mongoose.Schema.Types.ObjectId, ref:'Child'},
startate : Date,
endDate : Date,
deleted: Boolean,
});
var Cure = mongoose.model('Cure', CureSchema);
如果我使用普通查询,则在输出中有objectId.
{
06001
}
解决方法:
从技术上讲,在mongodb中使用一个查询是不可能的,因为文档属于三个不同的集合.猫鼬可能必须执行五个查询(尽管我认为三个应该足够,但我不确定猫鼬有多聪明).
但是,如果您真正要问的是如何仅使用一条猫鼬指令来获取子文档,则应查看populate().
Cure.find()
.populate('therapist')
.populate('supervisor')
.populate('parents')
.populate('children')
.exec(resultHandler);