Tôi đã có thể sửa nó, theo nhận xét của @chridam. Cảm ơn một lần nữa!
Tôi viết giải pháp bên dưới, đề phòng trường hợp ai đó gặp phải vấn đề tương tự như tôi đã làm.
Tôi đã thay đổi truy vấn của mình để tôi trở thành:
var group = collection.Aggregate()
.Match(filter)
.Group(new BsonDocument { { "_id", new BsonDocument { { "month", new BsonDocument("$month", "$createddate.DateTime") }, { "day", new BsonDocument("$dayOfMonth", "$createddate.DateTime") }, { "year", new BsonDocument("$year", "$createddate.DateTime") } } }, { "count", new BsonDocument("$sum", 1) } })
.ToListAsync().Result;
Điều này đã cho tôi một đối tượng tuần tự. Sau đó, tôi deserialized nó vào lớp tùy chỉnh mà tôi đã có:
var grouped = group.Select(g => BsonSerializer.Deserialize<RootObject>(g));
Đây là định nghĩa lớp tùy chỉnh sẽ được trau chuốt một chút:
public class Id
{
public int month { get; set; }
public int day { get; set; }
public int year { get; set; }
}
public class RootObject
{
public Id _id { get; set; }
public int count { get; set; }
}
Tôi hy vọng điều này sẽ hữu ích. Cảm ơn! :)