【发布时间】:2023-03-21 16:48:01
【问题描述】:
我在猫鼬中有以下架构,包括用户、团队和俱乐部。
const userSchema = new mongoose.Schema({
name: {
type: String,
required: true
},
phonenumber: {
type: String
},
team:
{type: Schema.Types.ObjectId, ref: 'Team'}
club:
{type: Schema.Types.ObjectId, ref: 'Club'},
});
const clubSchema = new mongoose.Schema({
name: {
type: String,
required: true
},
clublogo: { type:String }
});
const teamSchema = new mongoose.Schema({
name: {
type: String,
required: true
},
club: {
type: Schema.Types.ObjectId, ref: 'Club',
},
image: { type:String },
});
我正在尝试使用俱乐部和球队来填充用户表,但我遇到了一些麻烦。 当我运行以下查询时,它工作正常:
User.find().exec(function(err, users) {{
if(users) {
var userMap = {};
users.forEach(function(user) {
userMap[user._id] = user;
});
res.send(userMap);
} else { res.send({});}
});
但是当我尝试使用填充在用户中获取“团队”数据时,它返回空对象(也尝试不指定模型)
User.find({}).populate([{path:'team',model:'Team'}]).exec(function(err, users) {
if(users) {
var userMap = {};
users.forEach(function(user) {
userMap[user._id] = user;
});
res.send(userMap);
} else { res.send({});}
});
任何想法为什么?
【问题讨论】:
-
猫鼬版?