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

Bagaimana cara mereferensikan dokumen yang disematkan di Mongoid?

Karena Peta adalah koleksinya sendiri, Anda perlu mengulangi setiap koleksi Peta yang mencari di dalam Lokasi yang dirujuk oleh Pemutar Anda.

Anda tidak dapat mengakses dokumen yang disematkan secara langsung. Anda harus masuk melalui koleksi dan turun ke bawah.

Untuk menghindari pengulangan semua Peta, Anda dapat menyimpan referensi Lokasi DAN referensi Peta di dokumen Pemutar Anda. Ini memungkinkan Anda untuk mengaitkan kriteria yang memilih Peta Anda dan kemudian Lokasi di dalamnya. Anda harus membuat kode metode pada kelas Player Anda untuk menangani ini.

def location
  self.map.locations.find(self.location_id)
end

Jadi, mirip dengan bagaimana Anda menjawab sendiri kecuali Anda masih bisa menyimpan location_id di dokumen pemutar Anda alih-alih menggunakan atribut coord.

Cara lain adalah dengan menempatkan Peta, Lokasi, dan Pemain dalam koleksi mereka sendiri alih-alih menyematkan Lokasi dalam koleksi Peta Anda. Kemudian Anda dapat menggunakan hubungan referensi tanpa melakukan sesuatu yang mewah... namun Anda benar-benar hanya menggunakan database hierarkis seperti database relasional pada saat ini...



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. garpu mongodb di windows

  2. Masking MongoDB Asli (Metode ke-3)

  3. MongoDb :mapReduce out collection result

  4. Meminta data yang dilokalkan di MongoDB

  5. MongoDB $hariTahun