首页 > 解决方案 > Mongoengine 查找没有字段的文档

问题描述

我需要在集合中找到一个Chat不包含任何deal字段的文档。根据文档exists检查该字段是否存在,并且first, 用于检索第一个结果,但下一行

Chat.objects.first(deal__exists=False)

提高TypeError: first() got an unexpected keyword argument 'deal__exists'

这就是Chat方案

class Chat(Document):
    id = IntField(primary_key=True)
    name = StringField(default=CHANNEL_NAME)
    invite_link = StringField(default=None)
    deal = ReferenceField("Deal", default=None)

和集合中唯一文档的当前状态:

{
    "_id" : XXXXXXXXX,
    "name" : "XXXXX",
    "invite_link" : "https://t.me/joinchat/XXXXXXXXXXXXXXXXXXXXXX"
}

的值none给出deal相同的结果

标签: pythonmongodbmongoengine

解决方案


你可以试试 :

Chat.objects.get(deal__exists=False)

或者

Chat.objects(deal__exists=False)[0]

找到第一个结果。


推荐阅读