python - Pymongo MongoDB - 如何从具有 3 个要索引的数组中的数组中删除对象
问题描述
这是我目前的收藏
{
"req_id": "c76372ee-e8d7-4c9e-81cb-d682fe069320",
"data": [
{target_num: 0, vehicle_list: [{vehicle_num: 0, paths_list: [{pair_id: 0}]}, {pair_id: 1}]}]},
{target_num: 1, vehicle_list: [{vehicle_num: 0, paths_list: [{pair_id: 2}]}]},
]
}
我想用pair_id 0删除paths_list中的对象。
我有:
- 目标编号:0
- 车辆编号:0
- 对ID:0
我将如何在python中删除它?
这是我的尝试,但它不起作用,我不知道为什么......
collection.update(
{"_id": ObjectId(
"t43z5e64b72e2f7816bfdx32")
},
{
"$pull":
{
"data":
{
"target_num": 0,
"vehicle_list": {
"vehicle_num": 0,
"paths_list": {
"pair_id": 0
}
}
}
}
}
)
任何帮助是极大的赞赏!
解决方案
您可以$pull
使用arrayFilters
.
db.collection.update({},
{
$pull: {
"data.$[d].vehicle_list.$[v].paths_list": {
pair_id: 0
}
}
},
{
arrayFilters: [
{
"d.target_num": 0
},
{
"v.vehicle_num": 0
}
]
})
这是Mongo游乐场供您参考。
推荐阅读
- java - JDA ChannelManager setname 频道查看在线统计
- upgrade - Jfrog 从 6.17 升级到 7.x
- file-upload - Laravel 7更改文件上传到的位置
- haproxy - HAProxy 与 Cloudmap 与 Fargate
- android - KivyMD,在 android 中看不到图标,但在 linux 上工作
- javascript - 在 HTML5 Canvas 中绘制按钮的问题
- python - 我如何在 Pygame 中保持旋转正方形?
- r-exams - 导出到 BBLearn 的问题被导入到单独的池中,而不是一个池中
- html - yajra 数据表在移动视图中响应表外
- flutter - 垂直滚动+上下效果