gpt4 book ai didi

mongodb - mongoengine 查询嵌入文档列表

转载 作者:可可西里 更新时间:2023-11-01 09:18:16 27 4
gpt4 key购买 nike

我遇到了一个典型的陷阱,但找不到一个关于我应该做什么的 mongoengine 的好例子。

使用标准的博客示例,我有类似的内容:

class Comment(EmbeddedDocument):
author = StringField()
approved = BooleanField(default=False)

class Post(Document):
id = StringField(required=True, unique=True)
comments = ListField(EmbeddedDocumentField(Comment))

对于给定的博客文章(ID 为 some_id),我只想加载已批准评论的列表。如果帖子的任何评论获得批准,我会不小心加载所有评论,因为我正在匹配列表中的一个元素。

最佳答案

在你的模型中试试这个:

class Comment(EmbeddedDocument):
author = StringField()
approved = BooleanField(default=False)

class Post(Document):
id = StringField(required=True, unique=True)
comments = EmbeddedDocumentListField(Comment)

注意:EmbeddedDocumentListField 而不是 ListField

那么你的查询方式是这样的

comments_approved =  Post.objects.get(pk=post_id).comments.filter(approve=True)

希望对你有帮助!

关于mongodb - mongoengine 查询嵌入文档列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21904082/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com