我試圖用pymongo更新mongoDB中的一行。似乎所有的工作,除了它並沒有實際更新行!是否有我失蹤的東西(如flush命令?)。下面的代碼片段:pymongo更新不起作用
In [161]: articles = connection.journals.articles.find()
In [162]: articles[0]['_id']
Out[162]: ObjectId('4ee61fc0df04c08c5c510b51')
In [163]: articles[0]['newfield'] = 'Test'
In [164]: connection.journals.articles.update({'_id': articles[0]['_id']}, articles[0], safe=True)
Out[164]:
{u'connectionId': 62,
u'err': None,
u'n': 1,
u'ok': 1.0,
u'updatedExisting': True}
In [165]: articles = connection.journals.articles.find()
In [166]: articles[0]['_id']
Out[166]: ObjectId('4ee61fc0df04c08c5c510b51')
In [167]: articles[0]['newfield']
---------------------------------------------------------------------------
KeyError Traceback (most recent call last)
script.py in <module>()
----> 1
2
3
4
5
KeyError: 'newfield'
好好像更新'的文章[0]'不改變對象!通過'article = articles [0]'製作副本第一個作品... – tdc 2012-01-09 14:46:35
我認爲'connection.journals.articles.save(articles [0])'是爲此做出的。 – reclosedev 2012-01-09 15:12:59