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、用户名和电子邮件地址可用。如果你能告诉我如何设置一个字段,这将是一个巨大的帮助,我可以做其余的事情。