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

jenis kustom luwak/mongodb

Anda mungkin ingin menggunakan db.eval jika Anda bertekad untuk melakukan ini di sisi basis data.

Jawaban diambil dari pertanyaan lain:

Saya tidak berpikir ini mungkin secara langsung; sortdocumentation tentu saja tidak menyebutkan cara apa pun untuk menyediakan fungsi perbandingan khusus.

Anda mungkin sebaiknya melakukan pengurutan di klien, tetapi jika Anda benar-benar bertekad untuk melakukannya di server, Anda mungkin dapat menggunakandb.eval() untuk mengatur untuk menjalankan pengurutan di server (jika klien Anda mendukungnya).

Sortir sisi server:

db.eval(function() { 
  return db.scratch.find().toArray().sort(function(doc1, doc2) { 
    return doc1.a - doc2.a 
  }) 
});

Dibandingkan dengan pengurutan sisi klien yang setara:

db.scratch.find().toArray().sort(function(doc1, doc2) { 
  return doc1.a - doc2.b 
});


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. GALAT:Tidak dapat menulis file pid ke /var/run/mongodb/mongod.pid:Tidak ada file atau direktori seperti itu inf fedora 20

  2. Mongodb :$in operator vs banyak pertanyaan tunggal

  3. Memecahkan masalah Cluster Sharded MongoDB

  4. Peningkatan Kerangka Agregasi MongoDB 2.6

  5. Hapus entri dari array menggunakan driver MongoDB-Java