我有以下型号:
var couponschema = new mongoose.Schema({
name: String,
couponcode: String
});
var userschema = new mongoose.Schema({
name: String,
coupons: [couponschema]
});
我需要找到并删除所有带有特殊
coupon code
的优惠券。我找不到任何Mongoose查询来批量删除跨多个文档的多个子文档。因此,我只需要遍历每个
user
文档,然后遍历coupon
子文档,看看是否有匹配的优惠券,然后删除它们——但这似乎不是一个优雅的解决方案。所以请建议一个干净的方法。谢谢。
最佳答案
希望它能给你一个想法(使用$pull):
db.user.update(
{ },
{
$pull : {
"coupons" : <...expression here...> // match specific coupons
}
},
{ multi: true }
)
更新:
tUser.update({
'coupons.couponcode': data.regid
}, {
$pull: {
coupons: {
couponcode: data.regid
}
}
}, { multi: true, safe: true }, function (err, val) {
// .. do something here
});
猫鼬
update
apihere。