消息关闭
    暂无新消息!

pymongo如何操作含有子条件的?

问题作者 : 老实人2017-06-27发布
mongodb pymongo:
有两条记录是这样
{"a":"AAA" , "b":[ {"b11": "b11value" ,"b12":"b12value"} , { "b21":"b21value" , "b22":"b22value" } ]}
--------------------------------------------------------------
{"a":"BBB" , "b":[ {"b11": "b11value" ,"b12":"b12value"} , { "b21":"b21value" , "b22":"b22value" } ]}


我想更新a为AAA且b中b11的值为b11value的值为b11111111value:
结果应该是这样:
{"a":"AAA" , "b":[ {"b11": "b11111111value" ,"b12":"b12value"} , { "b21":"b21value" , "b22":"b22value" } ]}
-----------------------------------------------
{"a":"BBB" , "b":[ {"b11": "b11value" ,"b12":"b12value"} , { "b21":"b21value" , "b22":"b22value" } ]}

以及把a为AAA且b中b11的值为b11value的(b11删除)
结果应该是这样:
{"a":"AAA" , "b":[ { "b21":"b21value" , "b22":"b22value" } ]}
-----------------------------------------------
{"a":"BBB" , "b":[ {"b11": "b11value" ,"b12":"b12value"} , { "b21":"b21value" , "b22":"b22value" } ]}

一个更新,一个是删除
这两个怎么写?

1个回答

︿ 1
1
db.f.update({a:"AAA"},{$set:{"b.0.b11":"b11111111value"}})
2
db.f.update({a:"AAA"},{$pull:{"b":{"b11" : "b11111111value"}}})