gpt4 book ai didi

带有 DateTime.date 的 C# MongoDb 项目

转载 作者:可可西里 更新时间:2023-11-01 10:21:57 24 4
gpt4 key购买 nike

给定:

我有一个包含一些数据的 mongodb 集合。一个字段是 DateTime 字段。

现在我想汇总每一天的数据。

为此我创建了这个聚合

var result = collection
.Aggregate()
.Project(i => new {i.Key,date = i.Timestamp.Date})
.Group(k => k.date,l => new { l.Key,count =l.Count()})
.ToList();

问题:

现在 Mongo 数据库告诉 mit 不支持 i.TimeStamp.Date。我认为它只是不能将其转换为“ToDate”函数。

按日期对此类数据进行分组的正确方法是什么?

最佳答案

我正在检查 cshardriver 项目,但还没有这样的扩展,这意味着我们需要使用 bson 文档来让它工作。

var project =  BsonDocument.Parse("{Key:1, Timestamp:1,year:{$year:'$Timestamp'}, dayOfYear:{$dayOfYear:'$Timestamp'}}");

var group = BsonDocument.Parse("{_id:{year:'$year', dayOfYear:'$dayOfYear'}, count:{$sum:1}}");

var result = collection
.Aggregate()
.Project(project)
.Group(group)
.ToList();

我们可以输入对象 Project<ournewClassrepresentingProjectShape>(project)然后我们可以使用类型化组。

欢迎任何评论!

关于带有 DateTime.date 的 C# MongoDb 项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38239659/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com