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

Bagaimana cara mengurutkan dua bidang dengan luwak?

Lihat sort() definisi.

sort({_id: -1, upvotes_count: -1})

berarti mengurutkan _id pertama, lalu urutkan upvotes_count dengan desc order hanya untuk mereka yang sama _id posting. Sayangnya, _id adalah ObjectId , yang merupakan tipe BSON 12-byte, dibuat menggunakan:

  • nilai 4-byte yang mewakili detik sejak zaman Unix,
  • pengidentifikasi mesin 3 byte,
  • id proses 2 byte, dan
  • penghitung 3 byte, dimulai dengan nilai acak.

Sulit untuk mendapatkan ObjectId yang sama . Yaitu, _id dari setiap catatan harus unik dalam dokumen ini. Akibatnya, hasil kode pengujian Anda hanya diurutkan berdasarkan _id deskripsi

Ini salah satu contohnya,

+---------+---------------+
| _id     |  upvote_count |
+---------+---------------+
|  1      |      5        |
|  4      |      7        |
|  3      |      9        |
|  4      |      8        |

Hasil sort({_id: -1, upvotes_count: -1}) seharusnya

+---------+---------------+
| _id     |  upvote_count |
+---------+---------------+
|  4      |      8        |
|  4      |      7        |
|  3      |      9        |
|  1      |      5        |

upvote_count akan diurutkan untuk _id same yang sama .

Namun, dalam hal ini. Ada di _id yang sama dalam hal ini.

+---------+---------------+
| _id     |  upvote_count |
+---------+---------------+
|  1      |      5        |
|  4      |      7        |
|  3      |      9        |
|  2      |      8        |

Hasil sort({_id: -1, upvotes_count: -1}) seharusnya

+---------+---------------+
| _id     |  upvote_count |
+---------+---------------+
|  1      |      5        |
|  2      |      8        |
|  3      |      9        |
|  4      |      7        |


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Skema untuk Peringkat Pengguna - DB Kunci/Nilai

  2. Agregasi MongoDB untuk menambahkan bulan yang hilang antara dua tanggal setelah pengelompokan pada bidang tanggal

  3. Enkripsi/Dekripsi properti saat menulis/membaca ke c# mongo db

  4. Perbarui koleksi MongoDB menggunakan $toLower

  5. Hitung rata-rata bidang dalam dokumen/array yang disematkan