【问题标题】:Not able to fetch mongodb object with a valid field无法使用有效字段获取 mongodb 对象
【发布时间】:2013-10-31 05:10:07
【问题描述】:

我正在使用 Mongoengine。 当我做一个:

>>> Grant.objects().first().client_id

结果如预期。

ObjectId('526fd0da82353536892f22ae')

但是,当我根据client_id 进行搜索时,

>>> Grant.objects(client_id="526fd0da82353536892f22ae").first()

我收到一个 InvalidQueryError:

InvalidQueryError:无法解析字段“client_id” 这是我的 Grant 模型的样子:

class Grant(db.Document):
    #user_id = db.StringField()
    user = db.ReferenceField(User)
    client_id = db.StringField()
    client = db.ReferenceField(Client)
    code = db.StringField()
    redirect_uri = db.StringField()
    expires = db.DateTimeField()
    scopes = db.ListField()

    #for soft-deleting the grant
    is_deleted = db.BooleanField(default=False)

    @property
    def user_id(self):
        return self.user.id

    @property
    def client_id(self):
        return self.client.id

    def delete(self):
        self.is_deleted = True

有人可以通过这段代码指出问题吗?

【问题讨论】:

    标签: mongodb python-2.7 mongoengine flask-mongoengine


    【解决方案1】:

    您是否尝试像这样使用它:

    Grant.objects(client_id=ObjectId("526fd0da82353536892f22ae")).first()
    

    【讨论】:

    • 那也没用。我正在使用“客户端”本身获取 Grant 对象 - 将其分解为两个步骤。
    猜你喜欢
    • 1970-01-01
    • 2016-03-03
    • 1970-01-01
    • 2021-03-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多