【问题标题】:MONGOENGINE How to get a document knowing only the value of one of the fields?MONGOENGINE 如何获取仅知道其中一个字段值的文档?
【发布时间】:2021-11-18 08:12:44
【问题描述】:
我在我的应用程序中使用了 flask-mongoengine。
我有文件 - 用户。
我只需要获取名称为“Tim”的那些(例如)。
但是我不知道该字段的名称是什么,名称写在哪里。
它可能是 - “名称”、“用户名”、“用户名”等。
请求应如下所示:
users = User.objects.filter(**="Tim")
where ** - field, which i don't know
也许还有其他方法可以做到这一点??
【问题讨论】:
标签:
python
mongoengine
flask-mongoengine
【解决方案1】:
您需要使用MongoEngine的高级查询功能(link)
from mongoengine import Document, StringField, Q
class Person(Document):
firstname = StringField()
lastname = StringField()
Person(firstname='Brian', lastname = 'Stella').save()
Person(firstname='Stella', lastname = 'Smith').save()
# Following query will found the 2 documents
Person.objects(Q(firstname__contains="Stella") | Q(lastname__contains="Stella")).count()