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

Meteor:terbitkan 2 proyeksi berbeda dari elemen array

Saya memeriksa pendekatan yang berbeda. Masalahnya dapat diselesaikan berdasarkan kasus per kasus dengan memilih bidang secara hati-hati dan memperhatikan urutan langganan, tetapi solusi ini lemah dan bergantung pada kondisi arbitrer yang tidak terdokumentasi.

Satu-satunya solusi generik yang nyata adalah koleksi virtual . Kasus paling sederhana adalah menerbitkan kursor di bawah nama koleksi sisi klien yang berbeda. Misalnya:

function publishVirtual(sub, name, cursor) {
  var observer = cursor.observeChanges({
    added  : function(id, fields) { sub.added(name, id, fields) },
    changed: function(id, fields) { sub.changed(name, id, fields) },
    removed: function(id)         { sub.remove(name, id) }
  })

  sub.onStop(function() {
    observer.stop() // important. Otherwise, it keeps running forever
  })
}

Dan kemudian, dalam publikasi Anda, alih-alih mengembalikan cursor :

var cursor = Users.find()
publishVirtual(this, 'virtualUsers', cursor)
this.ready()



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. simpan luwak vs sisipkan vs buat

  2. Gagal menjalankan Mongodb

  3. Cara menggunakan Liquibase-MongoDb-Spring-boot

  4. Tidak dapat menghubungkan Hive dengan MongoDB menggunakan konektor mongo-hadoop

  5. MongoDB - Buat Koleksi