mongodb FindAndModify - 更新数据

0 投票
1 回答
1377 浏览
提问于 2025-04-17 01:43

我在MongoDB的集合里已经有了这些数据。

{ "_id" : ObjectId("4e677efce88c7f0718000000"), "ptbn" : "indl000000001", "tbucode" : "5649", "district" : "west", "dcode" : "110048", "tbu" : "super clinic", "state" : "delhi" }

我不太明白怎么使用MongoDB里的FindAndModify

我现在用的是MongoDB 1.8。

我只想把'state'从delhi改成goa,把'district'从west改成north。

我该怎么在Python 2.6里修改所有条目,除了'ptbn'以外的字段?

这是我到目前为止尝试过的:

     connection = Connection('localhost', 27017)
     db = connection.health
     tc = db.tc_basic

     basic = {'state' : state, 
              'district' : district,
              'Dcode' : Dcode, 
              'tbu' : tbu,
              'tbucode' : tbucode,
              'ptbn' : ptbn
              }

     tc.save(basic)

1 个回答

4

其实你并不需要用到 findAndModify 这个功能。简单的 update() 就可以解决问题。

db.tc_basic.update({'_id':ObjectId("...")}, {'$set': {'state': 'goa', 'district': 'north'}})

想了解更多关于 update() 能做什么的,可以查看这个链接: http://www.mongodb.org/display/DOCS/Updating

撰写回答