我在Mongoose populate中找到完整模型時遇到問題。在Mongoose中找不到完整模型
2款貓鼬:
//first
var CardSchema = new Schema({
userId: String,
payment: { type: Number, ref: 'Payment' }
});
module.exports = mongoose.model('MedicalCard', CardSchema);
//second
var PaymentSchema = new Schema({
_id: Schema.Types.ObjectId,
cost: String,
});
module.exports = mongoose.model('Payment', PaymentSchema);
而且我希望找到所有推車某些用戶:
CardModel.find({ userId: id}).populate('payment').exec(function (err, data) {
if (err) {
//error
}
if (data) {
console.log(data);
}
});
但對我來說返回結果:
[
{
"_id": "56ed9993a5c9067a21edec69",
"userId": "56eaccec930c15cf245a86a1",
"payment": null,
"__v": 0
},
{
"_id": "56ed99a7a5c9067a21edec6d",
"userId": "56eaccec930c15cf245a86a1",
"payment": null,
"__v": 0
}
]
但Mongotron換取我正確結果:
[
{
"_id": ObjectId('56ed99a7a5c9067a21edec6d'),
"userId": 56eaccec930c15cf245a86a1,
"payment": ObjectId('56ed99a7a5c9067a21edec6a')
},
{
"_id": ObjectId('56ed9993a5c9067a21edec69'),
"userId": "56eaccec930c15cf245a86a1",
"payment": ObjectId('56ed99a7a5c9067a21edec6c')
}
]
可能是什麼問題?以及如何解決它?
P.S.我已經改變了付款方式:{類型:數字,REF: '付款'}鍵入的ObjectId,但問題沒有解決
刪除從_id您的PaymentSchema。 –
都一樣。在您的CardSchema中返回null而不是ObjectId – ximet
,支付類型爲Number。但是,您的Mongotron輸出顯示支付ObjectId。想知道爲什麼? –