在 mongoengine 中对 ListField 进行排序

sorting a ListField in mongoengine

我在 mongoengine 中有一个这样定义的模型:

class Task(Document):

    name = StringField(required=True, unique=True)
    frequency = IntField(required=True)
    quantity = IntField()
    units = StringField()
    events = ListField(DateTimeField(default=datetime.datetime.now))

如何获取最新的event?我尝试了以下但没有成功:

def latest(self):
    return self.events.sort()[-1]

而不是返回 events 排序的 sort returns None

您可以只使用 Mongoengine SortedListField 而不是 ListField,here is the doc

然后你可以简单地 return self.events 或者如果你愿意也可以反过来