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

implementasi mongodb different() di Meteor di server?

Oke setelah beberapa penggalian di sekitar kode dan menyadari mongo lib berisi implementasi asli dari semua metode yang diperlukan, saya menggunakan kembali solusi agregat() dari https://github.com/meteor/meteor/pull/644

Perubahan dan terjemahan langsung ke skrip kopi memberikan cuplikan berikut untuk dimasukkan ke dalam kode sisi server Anda:

path = __meteor_bootstrap__.require("path")
MongoDB = __meteor_bootstrap__.require("mongodb")
Future = __meteor_bootstrap__.require(path.join("fibers", "future"))

myCollection = new Meteor.Collection "my_collection"

#hacky distinct() definition from https://github.com/meteor/meteor/pull/644
myCollection.distinct = (key)->
  future = new Future
  @find()._mongo.db.createCollection(@_name,(err,collection)=>
    future.throw err if err
    collection.distinct(key, (err,result)=>
      future.throw(err) if err
      future.ret([true,result])
      )
    )
  result = future.wait()
  throw result[1] if !result[0]
  result[1]

Kelemahannya adalah Anda harus mendefinisikannya untuk setiap koleksi baru tetapi itu cukup mudah untuk diperbaiki dengan peretasan lain melalui _.extend atau sesuatu yang saya kira...

PS Sekarang juga menjadi paket pintar - mrt add mongodb-aggregation



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB menggabungkan jumlah item koleksi terkait dengan hasil koleksi lainnya

  2. Menyimpan Hirarki Direktori di penyimpanan Data Nilai-Kunci

  3. Bagaimana cara mengelompokkan tanggal secara triwulanan?

  4. mongoDB menambahkan data spesifik ke db Replica

  5. lboost_thread-mt hilang di driver cpp mongodb (server ubuntu x64)