所以我所追求的是:
class Comment(EmbeddedDocument):
content = StringField()
upvotes = IntField()
pub_date = DateTimeField()
class Post(Document):
title = StringField()
comments = SortedListField(EmbeddedDocumentField(Comment))
post_date = DateTimeField()
默认情况下,这按照评论提交的时间顺序排序,但我想按嵌入的评论文档的SortedListField
属性进行upvotes
排序。这是可能的,如果可以的话,我该如何解决呢?
答案 0 :(得分:5)
如果unit tests本身不清楚,documentation实际涵盖了这一点:
class Post(Document):
title = StringField()
comments = SortedListField(EmbeddedDocumentField(Comment)
ordering="upvotes", reverse=True)
post_date = DateTimeField()
因此,添加“ordering”关键字允许字段在项目更改为指定时进行排序。您可能还需要反向语句以确保最高的“upvotes”值也是第一个。
单元测试实际上也显示了其他一些用法,因此总是找到可能模糊不清的用法的良好来源。