C# MongoDb 项目 DateTime.date
C# MongoDb Project with DateTime.date
给定:
我有一个包含一些数据的 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 db 告诉 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)
然后我们可以使用类型化组。
欢迎任何评论!
给定:
我有一个包含一些数据的 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 db 告诉 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)
然后我们可以使用类型化组。
欢迎任何评论!