У меня есть следующие модели:как эффективно искать поддокументы
var couponschema = new mongoose.Schema({
name: String,
couponcode: String
});
var userschema = new mongoose.Schema({
name: String,
coupons: [couponschema]
});
Мне нужно найти и удалить все купоны с определенным coupon code
.
Не удалось найти какой-либо запрос мангуста пакетное удаление нескольких поддокументов по нескольким документам. Поэтому я остаюсь с итерацией через каждый документ user
, затем перебираю подкоды coupon
, чтобы увидеть, есть ли соответствующий купон, а затем удалить их - но это не похоже на элегантное решение.
Поэтому, пожалуйста, предложите чистый способ сделать это. Благодарю.
спасибо, но. Я попробую это ... – ShahiM
Эй, это сработало отлично ... это фактический код, который я написал ... пожалуйста, добавьте это в свой ответ, и я соглашусь: 'tUser.update ({'coupons .couponcode ': data.regid}, {$ pull: {coupons: {' coupons.couponcode ': data.regid}}}, {multi: true, safe: true} function (err, val) {}); ' – ShahiM
и ссылка [this] (http://mongoosejs.com/docs/api.html#query_Query-update) тоже помогли. – ShahiM