14

次のように、dbからoidでドキュメントを取得する必要があります。

Docs.objects(_id='4f4381f4e779897a2c000009')

しかし、それを行う方法は、_idがObjectIdオブジェクトを必要とし、pymongoからObjectIdを設定しようとしても、機能しません。

Docs.objects(_id=pymongo.objectid.ObjectId('4f4381f4e779897a2c000009'))

空のリストを返す

4

4 に答える 4

30

これは機能するはずです:

Docs.objects(pk='4f4381f4e779897a2c000009')
于 2012-04-03T07:25:17.343 に答える
23

生の文字列を使用するのはどうですか?

Docs.objects.get(id='4f4381f4e779897a2c000009')

それがおそらく最も簡単な方法です...そうですか?

于 2012-05-16T04:22:02.260 に答える
8

私自身、これに多くの問題を抱えていたので、この質問に来ました。PyMongoがこれを変更したようで、objectidはpymongo内になくなり、代わりになりました。

import bson
Doc.objects.get(id=bson.objectid.ObjectId('4f4381f4e779897a2c000009'))

また、MongoengineはObjectIDフィールドに「id」という名前を使用します。

于 2012-12-08T21:34:41.800 に答える
1

このスレッドは古いですが、2022年頃に誰かが見た場合:これはMongoDB Atlas + Mongoengine==0.23.1で正常に機能します

from bson.objectid import ObjectId
Doc.objects(_id=ObjectId("85a2c854002c893dd7756b5g"))
于 2021-11-28T01:12:01.947 に答える