MongoDB如何删除嵌入式数组中的字段?

问题描述 投票:2回答:2

我有一种情况,我想删除字典数组中的字段。

我知道如何删除普通字段:{$ unset:{:“”}}

但请帮助我以下示例,我想在第二个字典中删除状态字段

{  
   "recs":[  
  {  
     "required_1":""
     "required_2":"info",
     "status":"completed",
     "datetime":"2018-02-02T06:00:04Z"
  },
  {  
     "required_1":""
     "required_2":"info",
     "status":"inprogress"
     "datetime":"2018-02-02T06:00:04Z"         
  }
 ],
   "mainstatus":"failed"
 }
mongodb python-2.7
2个回答
0
投票

你必须使用$标志:recs.$.status将选择status中所有记录的recs字段。

https://docs.mongodb.com/manual/reference/operator/update/positional/


-1
投票

您必须使用$ pull从数组中删除数据。

db.getCollection('TEST').update({/* some condition */}, {
    $pull: {
        recs: {"status" : "inprogress"}
    }
});
© www.soinside.com 2019 - 2024. All rights reserved.