我有两个模型:-
class Comment(EmbeddedDocument):
content = StringField()
class BlogPost(Document):
title = StringField()
comments = ListField(EmbeddedDocumentField(Comment))
如何查询评论为hello how are you?
的Blogpost object
,如
BlogPost.objects.get(comment.content='hello how are you')
从技术上讲,您只有"一个"模型,它包含另一个类的嵌入定义。因此,您需要做的就是匹配嵌入的属性。这里有一个集合语法:
BlogPost.objects(comments__content="hello how are you")
所以使用双下划线表示父名称的属性。这就是mongoengine如何以一种非常"django"的方式做到这一点,而不是像基本驱动程序或"原始"查询本身那样使用"点符号"形式。
这实际上包含在mongoengine手册的下面:过滤查询