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

MeteorJS - Menghubungkan gambar (FS.collection) ke dokumen yang relevan di Koleksi MongoDB

Ini adalah kasus umum di Meteor/Mongo di mana Anda ingin menghubungkan dua koleksi. mongo docs memiliki tulisan yang bagus tentang ini.

Katakanlah setiap tempat dapat memiliki banyak gambar. Anda dapat menempatkan referensi ke tempat di dalam gambar atau merujuk ke banyak gambar dari tempat tersebut.

Saat Anda membuat gambar di collectionFS (mengabaikan spesifikasinya), pastikan untuk menyimpan _id dari gambar:

imgId = image.insert();

Jika Anda ingin gambar tersebut merujuk ke tempat tersebut, Anda dapat memperbarui gambar dengan:

image.update({ _id: imgId },{ $set: { placeId: myPlace._id }});

atau Anda dapat $push imgId ke array gambar di dalam tempat Anda:

Places.update({ _id: myPlace._id },{ $push: { imageArray: imgId }});

Bentuk referensi kedua sedikit lebih fleksibel karena gambar yang sama dapat dimiliki oleh banyak tempat (banyak ke banyak). Ini bagus untuk tempat bersarang, misalnya gambar Times Square keduanya adalah gambar Times Square dan gambar Kota New York dan seterusnya.

Apa pun itu, Anda dapat bergabung image Anda dan Places koleksi menggunakan reywood:publish-composite paket yang dirancang untuk memudahkan penerbitan koleksi terkait.

Perhatikan juga bahwa konvensi umum untuk penamaan koleksi di Meteor huruf pertama dikapitalisasi dan bentuk jamak . yaitu Gambar bukannya gambar . Ini karena koleksi adalah variabel global di Meteor dan koleksi menyimpan banyak hal yang dinamai menurut namanya.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB – Bagaimana cara mengembalikan dokumen dengan <field_value> sebagai <field_key>?

  2. Meteor.Collection.ObjectID() vs MongoDB ObjectId()

  3. Terapkan GraphQL API dengan MongoDB Atlas dan Apollo Server di Koyeb

  4. Buat koneksi mongo dan hidupkan untuk eksekusi Seluruh Test Suite di Ready!API

  5. Hapus objek dari array bersarang dengan $pull dan $[identifier] (mongoDB 3.6)