【发布时间】:2019-04-22 18:43:15
【问题描述】:
我想知道是否有一种方法可以使用 Mongoengine 在 MongoDB 集合的列中获取最大值。有可能吗?
【问题讨论】:
-
谢谢,但是我知道如何直接获取它,但我想知道是否可以使用mongoengine来完成
标签: python mongodb aggregation-framework mongoengine
我想知道是否有一种方法可以使用 Mongoengine 在 MongoDB 集合的列中获取最大值。有可能吗?
【问题讨论】:
标签: python mongodb aggregation-framework mongoengine
如果您的序数值列被命名为“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 运算符获得。字段上的$ 前缀是聚合框架识别管道中字段变量的方式。
【讨论】: