簡體   English   中英

如何通過 mongoengine 中的主鍵獲取文檔?

[英]How to get a document by its primary key in mongoengine?

我正在將應用程序從 App Engine 的 ndb 移植到 mongoengine。 ndb 提供了Model.get_by_id方法,我想用 mongoengine 來實現它。 那么如何通過自動生成的 id 或將primary_key設置為 True 的任何字段來獲取文檔?

您可以使用with_id()

class MyDocument(Document):
    ...
    @classmethod
    def get_by_id(cls, id):
        return cls.objects.with_id(id)

這將返回文檔實例(如果存在)或None如果不存在)。

查看http://docs.mongoengine.org/guide/querying.html

答案很簡單:

Model.objects(id='your-id')

我假設您知道主鍵字段的名稱。

使用with_id 它專門用於此目的。

Model.objects.with_id('your-id')

如果沒有找到對象,則返回None

但請確保您沒有設置過濾器(就像過濾器方法一樣),因為它會引發InvalidQueryError

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM