【问题标题】:Mongoengine, how to get last element in listFieldMongoengine,如何获取listField中的最后一个元素
【发布时间】:2015-06-16 15:08:44
【问题描述】:
熟悉的 Pythonic 切片约定 myList[-1:][0] 和 myList[-1] 不适用于 Mongoengine listFields,因为它不支持负索引。有没有一种优雅的方法来获取列表的最后一个元素?
后人的错误用语:
IndexError: Cursor instances do not support negative indices
【问题讨论】:
标签:
mongoengine
listfield
【解决方案1】:
您可以使用此代码访问最后一项:
myList[len(myList) - 1]
【解决方案2】:
不要在查询集上使用len,因为这将评估查询集。 Django 文档:
当您在其上调用 len() 时,会评估 QuerySet。这个,你可能
期望,返回结果列表的长度。
如果您只想获取集合的长度,请改用count。所以回答你的问题,我会用myList[myList.count() - 1]之类的东西。