mongodb FindAndModify - 更新数据

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

我正在使用MongoDB 1.8和Python 2.6,想要动态地修改一个'值'...

参考这个链接 mongodb FindAndModify - update data,但解决方案对我来说不管用。

以下是我在Python脚本中插入MongoDB集合的代码。

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

这是MongoDB的输出结果。

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

所以我的需求是... 如果某个用户在网页表单或图形界面中输入一个新值,并想要更改任何值或单个值,而不是每次都通过MongoDB命令终端来做... 那么如何在集合/文档中更改这个值呢?

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

上面的操作需要我手动进行... 我需要通过Python脚本动态地做到这一点。

因为我不知道每台不同电脑上安装的数据库的ObjectID。

谢谢

1 个回答

0

好吧,如果这是一个新对象,那你就得用 insert 来插入它。

如果这个对象已经存在,并且用户对它进行了修改,那么你已经从集合中取出了这个对象,所以你知道它的 ObjectId。把这个 ID 放在 HTML 表单里作为隐藏字段,这样你就知道要更新哪个对象了。

撰写回答