【发布时间】:2012-10-03 05:39:09
【问题描述】:
创建一个新文档
>>>Categories.insert({'test':'test'}) ObjectId('506b563df49a007f73000001')
是的,创建成功。
>>> Categories.find_one({'test':'test'}) {u'test': u'test', u'_id': ObjectId('506b4149f49a007cd0000000')}
给它一个新属性“newAttr”,值为“hello”
>>> Categories.update({'_id':Categories.find_one({'test':'test'})['_id']},{'newAttr':'hello'})
查找相同的文档
>>> Categories.find_one({'test':'test'}) {u'test': u'test', u'_id': ObjectId('506b563df49a007f73000001')}
还没更新??
搜索包含新属性的内容:
>>> Categories.find_one({'newAttr':'hello'}) {u'newAttr': u'hello', u'_id': ObjectId('506b4149f49a007cd0000000')}
它创建了一个单独的文档而不是更新之前的文档??
知道如何纠正这个问题吗?
【问题讨论】:
-
如果你想添加一个新字段,你需要使用 {$set:{'field':'name'}) - 你拥有它的方式是你告诉它将文档更新为一个全新的价值...