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

Mongodb c# driver dan ISODate

Dalam kebanyakan kasus, Anda ingin menyimpan waktu tanggal UTC dalam database sehingga DateTime Anda harus dibuat sebagai:-

DateTest = new DateTime(2013, 10, 13, 0, 0, 0, DateTimeKind.Utc) //this is the date

Dengan ini, pengujian unit komentar pertama Anda sekarang berlalu.

Tanpa menentukan DateTimeKind Anda membiarkannya secara kebetulan. MongoDB tampaknya menganggap bahwa itu lokal dan mengubahnya menjadi UTC di database.

Perhatikan juga bahwa nilai MongoDB DateTime memiliki presisi yang lebih rendah daripada nilai .NET DateTime. Jika Anda ingin menyimpan nilai DateTime arbitrer dan mengembalikannya sedemikian rupa sehingga masih cocok, Anda harus membulatkannya ke milidetik terdekat sebelum menyimpannya.

Jika Anda benar-benar ingin menyimpan waktu lokal, saya sarankan Anda beralih dari DateTime ke DateTimeOffset dan membuat serial sebagai nilai Tick yang panjang untuk UTC DateTime dan nilai untuk offset.

Perhatikan bahwa kecuali Anda menyimpan offset yang dihitung pada saat nilai DateTime diperoleh, maka metode .NET untuk mengonversi ke LocalTime pada dasarnya tidak berguna karena mereka tidak tahu kapan waktu musim panas dimulai, mereka juga tidak tahu zona mana nilai DateTime berasal dari. Secara keseluruhan, penanganan .NET DateTime meninggalkan banyak hal yang diinginkan dan mengandung banyak metode menyesatkan yang mengklaim dapat membantu tetapi sebenarnya tidak.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Mongodb- Tambahkan indeks unik pada koleksi yang ada

  2. pembuatan skema luwak

  3. Bandingkan 2 tanggal dalam metode pencarian mongo

  4. Gabungkan dokumen dengan array bersarangnya dan array bersarangnya

  5. 2 Cara Menghapus Koleksi di MongoDB