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

Penyortiran khusus MongoDB

Jika Anda ingin melakukan semacam itu, Anda mungkin ingin menyimpan data Anda dengan cara yang berbeda. MongoDB pada umumnya tidak sebagus memanipulasi dokumen bersarang sebagai bidang tingkat atas. Dalam kasus Anda, saya akan merekomendasikan memisahkan ptime, pt dan uid ke dalam koleksi mereka sendiri:

pesan

{
    "_id":417,
    "ptime":ISODate("2013-11-26T11:18:42.961Z"),
    "type":"1",
    "txt":"test message"
},  

pengguna

{
    "id":417,
    "ptime":ISODate("2013-11-26T11:18:42.961Z"),
    "uid":"52872ed59542f",
    "pt":ISODate("2013-11-26T11:18:42.961Z")
},
{
    "id":417,
    "ptime":ISODate("2013-11-26T11:18:42.961Z"),
    "uid":"524eb460986e4",
    "pt":ISODate("2013-11-26T11:18:42.961Z")
},
{
    "id":417,
    "ptime":ISODate("2013-11-26T11:18:42.961Z"),
    "uid":"524179060781e",
    "pt":ISODate("2013-11-27T12:48:35Z")
}

Anda kemudian dapat mengatur indeks pada koleksi pengguna untuk uid, ptime dan pt.

Anda perlu melakukan dua kueri untuk juga mendapatkan pesan teks itu sendiri.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. $unwind array kosong

  2. NoSQL - MongoDB vs CouchDB

  3. Dapatkan nilai berbeda yang diurutkan dengan MongoTemplate

  4. Gunakan $lookup dalam array objek

  5. Ubah keymap menjadi vektor menggunakan kerangka MongoDB