I am trying to return a list of coupons associated with a specific user id and populate _merchant links.
This request correctly fills _merchant links. If I could add:
where is coupon.users.contains (myuserid) in my request, which will get what I need
db.couponModel.find().populate('_merchant').exec(function(err, coupons) {
res.send(coupons);
});
Or this query finds the right coupons that I need. If I could add:
fill out a (_merchant) request that will also get what I need.
db.userModel.findById(req.params.id).populate('coupons').exec(function(err, user) {
res.send(user.coupons)
});
Scheme
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' }],
});
I need a hybrid of these two queries in order to get what I want.
source
share