在User
架构中,我简单地引用了Customer
架构。
const UserSchema = new Schema({
customer: { type: Schema.Types.ObjectId, ref: Customer }, // Customer is the compiled CustomerSchema
...
});
const CustomerSchema = new Schema({
name: String,
...
});
在Express控制器中,我正在提取用户,而我正在尝试将客户嵌入到返回的JSON中:
export function me(req, res, next) {
User
.findOne({ _id: req.user._id }, '-salt -hashedPassword')
.populate('customer')
.exec((err, user) => {
if(err) return next(err);
if(!user) return res.json(401);
res.json(user);
});
}
但在回复中,customer
为null
。
我使用的测试数据:
用户文档:
{
"_id" : ObjectId("570d1f0938f7da5151b815d2"),
"customer" : ObjectId("570d1f0838f7da5151b815d0"),
...
}
相关客户文件:
{
"_id" : ObjectId("570d1f0838f7da5151b815d0"),
...
}
可能是一个菜鸟问题,但我看不出我看不到的东西=)
答案 0 :(得分:2)
我认为ref必须是一个字符串:
customer: { type: Schema.Types.ObjectId, ref: 'Customer' },