簡體   English   中英

Pymongo MongoDB - 如何從具有 3 個值的數組中的數組中刪除對象以進行索引

[英]Pymongo MongoDB - How do I remove an object from an array within an array with 3 values to index by

這是我目前的收藏

{
    "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
  • pair_id: 0

我將如何在 python 中刪除它?

這是我的嘗試,但它不起作用,我不知道為什么......

collection.update(
        {"_id": ObjectId(
            "t43z5e64b72e2f7816bfdx32")
        },
        {
            "$pull":
            {
                "data":
                {
                    "target_num": 0,
                    "vehicle_list": {
                        "vehicle_num": 0,
                        "paths_list": {
                            "pair_id": 0
                        }
                    }
                }
            }
        }
    )

任何幫助是極大的贊賞!

您可以將$pullarrayFilters一起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 游樂場供您參考。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM