Python 使用MongoAlchemy按内部列表的值筛选
我正在用Flask MongoAlchemy构建一个Flask应用程序,但我在整理查询时遇到了问题 对于“集团”文档,我有以下文档结构:Python 使用MongoAlchemy按内部列表的值筛选,python,mongodb,flask,pymongo,mongoalchemy,Python,Mongodb,Flask,Pymongo,Mongoalchemy,我正在用Flask MongoAlchemy构建一个Flask应用程序,但我在整理查询时遇到了问题 对于“集团”文档,我有以下文档结构: {'name': 'some_name', 'participants': [ {'participant_id': 12345} {'participant_id': 98765} ] } 我正在尝试编写Participant.groups方法,该方法调用数据库以返回组中存在与self.id匹配的Participant\u
{'name': 'some_name',
'participants': [
{'participant_id': 12345}
{'participant_id': 98765}
]
}
我正在尝试编写Participant.groups方法,该方法调用数据库以返回组中存在与self.id匹配的Participant\u id的所有实例
不过,我正在阅读MongoAlchemy文档,对于如何基于内部列表进行查询,我发现很少
看了这么多答案后,我试着
但也许并不奇怪,当它试图评估参与者时,会抛出一个错误
有什么见解吗?我见过使用常规MongoDB语法的示例,但我不知道如何使用MongoAlchemy实现这一点
谢谢 非常成功
在本例中,使用PyMongo语法似乎是一个不错的选择:
def groups(self):
return Group.query.filter(
{'participants': {'$elemMatch': {'participant_id': self.id}}}).all()
def groups(self):
return Group.query.filter(
{'participants': {'$elemMatch': {'participant_id': self.id}}}).all()