MongoDB
 sql >> Teknologi Basis Data >  >> NoSQL >> MongoDB

Agregasi Berdasarkan Tanggal di Mongodb

Saya dapat memperbaikinya, menurut komentar @chridam. Sekali lagi terima kasih!

Saya menulis solusi di bawah ini, untuk berjaga-jaga, jika seseorang mengalami masalah yang sama dengan yang saya alami.

Saya mengubah kueri saya sehingga saya menjadi:

 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;

Ini memberi saya objek serial. Kemudian saya deserialized ke dalam kelas kustom yang saya miliki:

var grouped = group.Select(g => BsonSerializer.Deserialize<RootObject>(g));

Berikut adalah definisi kelas khusus yang akan sedikit disempurnakan:

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; }
}

Saya harap ini akan berguna. Terima kasih! :)




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Bagaimana cara membuat skema luwak secara dinamis?

  2. Perlu menemukan nilai bidang yang paling sering muncul secara agregat

  3. Pencarian MongoDB dalam koleksi

  4. Mengapa sisipan lambat di shell 2.6 MongoDB dibandingkan dengan versi sebelumnya?

  5. Adakah cara untuk mendapatkan IDS yang dimodifikasi dari operasi massal mongodb menggunakan luwak?