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

Mongodb:mengurutkan dokumen berdasarkan objek array

Sepertinya mongo bisa lakukan ini.

Misalnya, jika saya memiliki dokumen berikut:

{ a:{ b:[ {c:1}, {c:5 } ] } }
{ a:{ b:[ {c:0}, {c:12} ] } }
{ a:{ b:[ {c:4}, {c:3 } ] } }
{ a:{ b:[ {c:1}, {c:9 } ] } }

Dan jalankan yang berikut ini:

db.collection.find({}).sort({ "a.b.c":1 });
// produces:
{ a:{ b:[ {c:0}, {c:12} ] } }
{ a:{ b:[ {c:1}, {c:5 } ] } }
{ a:{ b:[ {c:1}, {c:9 } ] } }
{ a:{ b:[ {c:4}, {c:3 } ] } }

db.collection.find({}).sort({ "a.b.c":-1 });
// produces:
{ a:{ b:[ {c:0}, {c:12} ] } }
{ a:{ b:[ {c:1}, {c:9 } ] } }
{ a:{ b:[ {c:1}, {c:5 } ] } }
{ a:{ b:[ {c:4}, {c:3 } ] } }

Seperti yang Anda lihat, urutkan berdasarkan {"a.b.c":1} membutuhkan waktu menit dari semua nilai dalam array dan mengurutkannya, sedangkan urutkan berdasarkan {"a.b.c":-1} mengambil maks dari semua nilai.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Apakah Firebase UID unik di beberapa aplikasi?

  2. apakah aplikasi meteor saya membutuhkan MONGO_OPLOG_URL dan MONGO_URL

  3. Membuat indeks parsial saat bidang bukan nol

  4. Perbarui array multi-sarang di Mongodb

  5. Menghubungkan ke MongoDB dari fungsi biru