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

Meteor:Cara menulis fungsi publikasikan yang berisi nama pengguna

Item Courses Koleksi adalah apa yang Anda publikasikan.

Jadi ketika Anda bertanya dengan Courses.find({"canEditCourse": { $in: [ this.userId ] } }); canEditCourse bidang adalah apa yang Anda coba cocokkan dengan userId (secara harfiah berarti menemukan semua Kursus di mana canEditCourse array berisi userId.)

Saya tidak mengerti mengapa Anda ingin menggunakan nama pengguna di sini. Apa yang membuat Anda?

Jika Anda ingin melakukan ini, Anda harus memiliki canEditCourse field menjadi array username dan bukan userId .Itu berarti Anda perlu mengubah logika di mana Kursus dibuat atau diedit dan di mana bidang ini diisi.

Tidak yakin itu sepadan dengan masalahnya. Jika yang Anda inginkan adalah mencari Kursus berdasarkan nama pengguna, lalu cari Pengguna berdasarkan nama pengguna, dapatkan userId-nya dan cari Kursus berdasarkan userId.

Meteor.publish('editableCourses', function (username) {
    var myUser = Meteor.users.findOne({'username': username});
    return Courses.find({"canEditCourse": { $in: [ myUser._id ] } });
});



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Pencarian MongoDB dalam koleksi

  2. driver java mongodb - perintah mentah?

  3. Mongoid hapus banyak dengan batas

  4. Cara mengumpulkan mongodb secara reaktif di meteor

  5. Membandingkan dua array objek dan memeriksa apakah mereka memiliki elemen yang sama