Pymongoで持続した後、オブジェクトのIDを取得するにはどうすればよいですか?
質問
私はピモンゴの初心者の質問を持っています:if collection
ピモンゴです コレクション そして、私はそれを使用してオブジェクトを保存します
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.
どうしたの?
解決
挿入挿入ドキュメントの_IDを返します。
_idに基づいて削除する削除があるので、次のようなものを試してください。
doc_id = db.test.insert({"foo": 1})
db.test.remove(doc_id)
他のヒント
合格するだけです remove
あなたがしたように、dict insert
. 。したがって、ドキュメントに基づいてドキュメントを削除します _id
値、次のようなことをします
collection.remove({'_id': ObjectId('4c2fea1d289c7d837e000000')})
あなたはただ通過することができます obj
.
ドキュメントからオブジェクトを削除するには、ドキュメントに「_id」を指定できるため、条件について言及する必要があります........
_id = db.test.insert({"foo": "test"})
db.test.remove({"_id":_id})
所属していません StackOverflow