8-08 985 views
修改数组
修改数组 accepts 中第$个对象的 member_id
db.notifies.updateMany({'cls': ObjectId('5f2d49aafad1311d3dc988ce'), 'accepts.member_id': ObjectId('5f2d49ddbc5912156229341a')},{
$set:{
'accepts.$.member_id': ObjectId('5f2d49ddbc5912156229341b')
}
})
// 这里的 or 语句 找到的 $ ??
db.notifies.updateMany(
{$and: [
{'cls': ObjectId('5f2d49aafad1311d3dc988ce')},{
$or: [{
'accepts.member_id': ObjectId('5f2d49fd0a5c2d7d69a98f01')
},{
'feedbacks.member_id': ObjectId('5f2d49fd0a5c2d7d69a98f01')
}]
}
]}
,
{
$set:{
'accepts.$.member_id': ObjectId('5f2d49ddbc5912156229341b')
}
})
unset数组
unset 结果会变成 null
db.notifies.updateMany({'cls': ObjectId('5f2d49aafad1311d3dc988ce'), 'accepts.member_id': ObjectId('5f2d49ddbc5912156229341b')},{
$unset:{
'accepts.$': 1
}
})
删除数组
删除 accepts 数组中 member_id 为 5f2d49fd0a5c2d7d69a98f01 的
db.notifies.updateMany({'cls': ObjectId('5f2d49aafad1311d3dc988ce'), 'accepts.member_id': ObjectId('5f2d49fd0a5c2d7d69a98f01')},{
$pull: {
'accepts': { 'member_id': ObjectId('5f2d49fd0a5c2d7d69a98f01') }
}
})
db.notifies.updateMany(
{$and: [
{'cls': ObjectId('5f2e168392908e1f001f107c')},{
$or: [{
'accepts.member_id': ObjectId('5f2e16db4410357c03653ad5')
},{
'feedbacks.member_id': ObjectId('5f2e16db4410357c03653ad5')
}]
}
]},
{$pull: {
'accepts': { 'member_id': ObjectId('5f2e16db4410357c03653ad5') },
'feedbacks': { 'member_id': ObjectId('5f2e16db4410357c03653ad5') }
},
}
)