Mongodb 在不同位置填充mongoose子文档
我正在使用我的用户模型填充子文档。现在,所有填充的信息都放在Mongodb 在不同位置填充mongoose子文档,mongodb,mongoose,mongoose-populate,Mongodb,Mongoose,Mongoose Populate,我正在使用我的用户模型填充子文档。现在,所有填充的信息都放在user\u list[x].\u id下,因此,例如user\u list[0].\u id.displayName但是我希望数据如下:user\u list[0].displayName 是否可以告诉猫鼬使用用户列表[x]的人口数据扩展用户列表[x]。\u id数据而不是将其与\u id属性本身放在一起 /// model 'use strict'; var mongoose = require('mongoose'), S
user\u list[x].\u id
下,因此,例如user\u list[0].\u id.displayName
但是我希望数据如下:user\u list[0].displayName
是否可以告诉猫鼬使用用户列表[x]的人口数据扩展用户列表[x]
。\u id
数据而不是将其与\u id
属性本身放在一起
/// model
'use strict';
var mongoose = require('mongoose'),
Schema = mongoose.Schema,
deepPopulate = require('mongoose-deep-populate')(mongoose);
var user_list_schema = new Schema({
_id:{
type: Schema.ObjectId,
ref: 'User'
},
soft_delete:{
type:Boolean
}
});
var BusinessSchema = new Schema({
title: {
type: String,
default: '',
trim: true,
required: 'Title cannot be blank'
},
user_list:[user_list_schema],
user: {
type: Schema.ObjectId,
ref: 'User'
}
});
mongoose.model('Business', BusinessSchema);
///controller
Business.findById(id).populate('user', 'displayName').populate('user_list._id').exec(function (err, business) {
if (err) {
return next(err);
} else if (!business) {
return res.status(404).send({
message: 'No business with that identifier has been found'
});
}
req.business = business;
next();
});
贾斯汀,你的问题让人困惑。您当前有一个
用户
模型、一个用户列表
模型和一个业务
模型,对吗?如果是这样的话,你能为你的不同型号显示代码吗?@是的,对不起,我有点被我猜的术语弄糊涂了。我已经更新了上面的模型。好的,太好了。您能为您的用户显示您想要的字段吗?@displayName、用户名和电子邮件地址可用。如果你能告诉我如何设置一个字段,这将是一个巨大的帮助,我可以做其余的事情。