Mongoengine,如何获取listField中的最后一个元素

Mongoengine, how to get last element in listField

熟悉的 myList[-1:][0]myList[-1] pythonic 切片约定不适用于 Mongoengine listFields,因为它不支持负索引。有没有一种优雅的方法来获取列表的最后一个元素?

后代的错误措辞:

IndexError: Cursor instances do not support negative indices

您可以使用此代码访问最后一项:

myList[len(myList) - 1]

不要在 QuerySet 上使用 len,因为这将评估查询集。 Django 文档:

A QuerySet is evaluated when you call len() on it. This, as you might expect, returns the length of the result list.

如果您只想获取集合的长度,请改用 count。所以回答你的问题,我会使用 myList[myList.count() - 1].