我有一个PyMongo新手问题:如果collection
是一个PyMongo 集合,我用它来保存一个对象
obj = {'foo': 'bar'} collection.insert(obj)
然后MongoDB自动生成一个_id
字段obj
; 一旦可以证实这一点
print obj
产生类似的东西
{'foo': 'bar', '_id': ObjectId('4c2fea1d289c7d837e000000')}
我的问题是:如何_id
以可以使用它的方式将其恢复?
例如,如果我想obj
从数据库中删除,我会认为我想要做类似的事情
collection.remove(obj['_id'])
但是当我尝试这个时,我收到了消息
TypeError: 'ObjectId' object is unsubscriptable.
这是怎么回事?
你只需要传递remove
一个字典,就像你一样insert
.因此,要根据文档的_id
值删除文档,请执行以下操作:
collection.remove({'_id': ObjectId('4c2fea1d289c7d837e000000')})