我在MongoEngine中拥有当前模型:
class Comment(EmbeddedDocument):
content = StringField()
pub_date = DateTimeField()
class Post(Document):
title = StringField()
comments = SortedListField(EmbeddedDocumentField(Comment))
post_date = DateTimeField()
我的所有帖子都是这样的:
posts = Post.objects.all()
然后我可以遍历帖子然后发表评论,但获取post.comments列表。
但我不确定如何按日期对每个帖子的评论列表进行排序。我知道这些评论是按时间顺序添加的,但我如何在评论的升序/降序之间切换,即最新的评论呢?
我试过meta属性无济于事:
meta = {
'ordering': ['-pub_date']
}
思想?
答案 0 :(得分:3)
SortedListField确保在写入数据库之前对集合进行排序,因此在这种情况下mongo不会进行任何排序。如果你按时间顺序对它们进行排序,为什么不直接按照时间顺序反转列表呢? :)