Pymongo 中的聚合函数

Posted

技术标签:

【中文标题】Pymongo 中的聚合函数【英文标题】:Aggregate Function in Pymongo 【发布时间】:2021-12-31 19:06:54 【问题描述】:

我目前正在做一个 Pymongo 项目,但在两个日期之间获取文档时遇到了很多麻烦:

当我这样做时,它会完美运行,并且它会从日期 triestre1 开始为我获取所有文档:

trim2 = mycol1.find("date_anounced":'$gte': trimestre1)

但是,如果我尝试接下来的 2 个选项中的任何一个,我根本不会收到任何文件。可能是什么问题?

trim2 = mycol1.find("date_anounced":'$gte': trimestre1,$lt:timestre2)

**OR** 

trim2 = mycol1.aggregate(["$match": '$and':['date_anounced': '$gte': trimestre1,'date_anounced': '$lt': trimestre2]])

如果需要更多信息,请告诉我。

【问题讨论】:

输出取决于trimestre1trimestre2中的输入值date_anounced的字段值。 它们如下:trimestre1 = datetime(2019,3,1,0,0,0).isoformat()trimestre2 = datetime(2019,6,1,0,0,0).isoformat()。这种格式在使用$gte: 时没有问题,在插入两个日期并搜索其间的文档时出现问题。 【参考方案1】:

试试这个,https://mongoplayground.net/p/QUycXEiOR-L

db.collection.aggregate([
 
    "$match": 
      "date_anounced": 
        "$gte": ISODate("2016-01-01T00:00:00.0Z"),
        "$lt": ISODate("2018-01-01T00:00:00.0Z")
      
    
  ,
])

【讨论】:

工作完美!非常感谢! @SantiagoFernndezdelCastillo 不客气,别忘了批准和投票!!

以上是关于Pymongo 中的聚合函数的主要内容,如果未能解决你的问题,请参考以下文章

如何在 pymongo 中将聚合操作的结果写为另一个集合中的一个文档

当数据非常嵌套时如何使用 $gt 聚合文档和聚合 Pymongo

pymongo.errors.DocumentTooLarge:“聚合”命令文档太大

PyMongo 不返回聚合结果

PyMongo 聚合不适用于 $max 运算符

SQL Server中的聚合函数都有哪些?