Belirli bir kullanıcıyla ilişkili kuponların listesini döndürmeye çalışıyorum ve _merchant referanslarını dolduruyorum.Mongoose iç içe populate sorgusu
Bu sorgu, _merchant referanslarını doğru şekilde doldurur. Ben eklemek olsaydı: Ben
db.couponModel.find().populate('_merchant').exec(function(err, coupons) {
res.send(coupons);
});
ihtiyaç Ya da bu sorgu ihtiyacım doğru kuponları ne bulursa alacağı benim sorguya
coupon.users.contains (MyUserID). Ekleyebildiğim şeyi de alabildiysem:
Sorgulamamın içine (_merchant) ekleyebilir miyim?
db.userModel.findById(req.params.id).populate('coupons').exec(function(err, user) {
res.send(user.coupons)
});
Şemalar
var userSchema = new Schema({
email: { type: String, required: true , unique: true },
coupons: [{ type: Schema.ObjectId, ref: 'Coupon' }]
});
var couponSchema = new Schema({
_merchant: { type: Schema.ObjectId, ref: 'Merchant', required: true },
couponid: { type: Number, required: true, unique: true },
users: [{ type: Schema.ObjectId, ref: 'User' }]
});
var merchantSchema = new Schema({
name: { type: String, required: true , unique: true }
coupons: [{ type: ObjectId, ref: 'Coupon' }],
});
İstediğimi elde etmek için bu iki sorgu bazı melez gerekir.
Gömülü belgenin gömülü belgesini doldurmak henüz desteklenmiyor. Bkz. Https://github.com/LearnBoost/mongoose/issues/601#issuecomment-6520568 – idursun
Sanırım birkaç gün önce sürümde destekleniyor ancak bunun için henüz doküman yok. Etrafında dolaşmak için herhangi bir hack var mı? Belki de $ kullanarak? – user1071182
https://github.com/LearnBoost/mongoose/pull/1292 – user1071182