User
スキーマでは、Customer
というスキーマへの参照があります。 Expressコントローラで参照は設定されていません
const UserSchema = new Schema({
customer: { type: Schema.Types.ObjectId, ref: Customer }, // Customer is the compiled CustomerSchema
...
});
const CustomerSchema = new Schema({
name: String,
...
});
、私は、ユーザーをフェッチしていると私は戻っ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"),
...
}
おそらくnoobの質問に、私は何を私が表示されません
は私によく見えます。クエリに入力する前にドキュメントを保存するために待っていましたか(コールバックを完了しましたか?) – lipp
はい:/ (SOは最小15文字のコメントを受け入れるのでここでは無用なテキストです) –