MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

Tổng hợp theo ngày trong Mongodb

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! :)




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. mongodb làm thế nào để trả về danh sách giá trị chỉ từ truy vấn tìm

  2. Làm cách nào tôi có thể chọn một số bản ghi cho một trường cụ thể bằng cách sử dụng mongodb?

  3. Cách lưu trữ một bộ tài liệu có thứ tự trong MongoDB mà không cần sử dụng bộ sưu tập có giới hạn

  4. Cách quản lý mẫu cấu hình cho cơ sở dữ liệu của bạn với ClusterControl

  5. Xử lý ISODate của MongoDB () khi cố gắng phân tích cú pháp một chuỗi JSON được tuần tự hóa