第一个架构:
const ProviderSchema = new mongoose.Schema({
provName : { type: String, index: true }
});
module.exports = mongoose.model('provider', ProviderSchema);
第二架构:
const WebProviderSchema = new mongoose.Schema({
userId : { type: Schema.Types.ObjectId, ref: 'users'},
providerId : { type: Schema.Types.ObjectId, ref: 'providers'}
});
module.exports = mongoose.model('webProvider', WebProviderSchema);
如何加入这两种模式?
到目前为止,如果我执行以下操作,我只从第二个模式获取数据:
webProvider
.find({userId : '23423df234434bc956'})
.populate("providers")
.exec( function (error, listData) {
console.log(listData);
});
答案 0 :(得分:1)
要填充,您应该使用本地字段providerId
。应该是.populate("providerId")
而不是.populate("providers")
。
webProvider.find({userId : '23423df234434bc956'})
.populate("providerId")
.exec( function (error, listData) {
console.log(listData);
});
要填充多个字段可以使用如下:
.populate("providerId userId")
或强>
.populate("providerId")
.populate("userId")