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]])
如果需要更多信息,请告诉我。
【问题讨论】:
输出取决于trimestre1
和trimestre2
中的输入值和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