我想知道是否有办法使用Mongoengine在MongoDB集合的列中获得最大值。可能吗?
如果具有您的序数值的列名为“max_column”:
MyDocument.objects().order_by("-max_column").limit(-1).first()
隐藏在文档中(请注意请求补丁)是.get_collection()
访问器,它返回集合的原始pymongo对象。在这里你可以使用像.aggregate()
这样的操作
ClassModel._get_collection().aggregate([
{ "$group": {
"_id": Null,
"max_column": { "$max": "$column" }
}}
])
当然,ClassModel
是您正在使用的实际类,“column”是您想要最大值的列的名称,使用$max
运算符获得。字段上的$
前缀是聚合框架如何识别管道中的字段变量。