【发布时间】:2021-12-10 03:58:14
【问题描述】:
我在带有 expressjs 的猫鼬中有以下架构
const userSchema = new mongoose.Schema({
name: {
type: String,
required: true
},
team: {
type: String
},
});
const dataPointSchema = new mongoose.Schema({
type: {
type: String,
required: true,
min: 2
},
value: {
type: String,
required: true
},
recorder: {
type: String,
required: true
},
player:
{type: Schema.Types.ObjectId, ref: 'User'},
date: {
type: Date,
default: Date.now
}
});
当我使用用户填充 dataPoint 时,我将玩家的团队和 _id 作为对象,我想将其展平为以下结构: 人口指挥:
Datapoint.find({}).populate([{path:'player',select:['team']}])
当前输出:
{
player: {_id:"_id from User",team:"team from User"},
_id: '1',
type: 'shot',
value: 'made',
recorder: 'David',
date: ' 2021-09-21T21:12:00.025Z',
__v: 0,
}
想要的输出
{
player: "_id from User",
_id: '1',
type: 'shot',
value: 'made',
recorder: 'David',
date: ' 2021-09-21T21:12:00.025Z',
__v: 0,
player.team: "team from User"
}
知道怎么做吗?
【问题讨论】:
标签: javascript mongoose populate