我试图用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