【发布时间】:2020-05-12 01:46:47
【问题描述】:
如何获取一个特定的嵌入文档,例如通过 mongoengine 的 ID?
这些是我的模型:
class Project(Document):
project_name = StringField(unique=True, required=True)
literature = ListField(EmbeddedDocumentField(Literature))
class Literature(EmbeddedDocument):
id = ObjectIdField(required=True, default=ObjectId,
unique=True, primary_key=True, sparse=True)
title = StringField()
我想获得一个特定的文学对象,例如通过 id "2"。
我试过这个:
literature = Project.objects(project_name=project_name).get(
literature__id=2).literature
但这给了我所有文献对象,而不仅仅是 ID 为“2”的对象
我也试过这样的:
literature = Project.objects.get(project_name=project_name).literature.filter(
literature__id=2)
但这会引发错误AttributeError: 'BaseList' object has no attribute 'filter'
那么有没有办法只获取特定的嵌入文档(ID= 2 的文献)?不知道我还能做什么
干杯
【问题讨论】:
标签: python mongodb flask mongoengine