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

Mengekstrak, memodelkan, dan mengubah model data, dengan mongoid/mongodb

Anda melakukan dua hal:

  • Filter pengguna dengan kueri db alih-alih memfilter dalam aplikasi
  • hanya mengambil bidang yang Anda butuhkan dari db, daripada seluruh objek pengguna (dengan asumsi Anda memiliki beberapa hal lain di pengguna, yang Anda hilangkan di sini untuk singkatnya)

    Competitor = Struct.new(:html_url, :description, :user)
    competitors = []
    User.where('watchlists.tags_array' => %w[ruby web framework]).
        only(:nickname, :watchlists).each do |u|
      u.watchlists.where(:tags_array => %w[ruby web framework]).each do |wl|
        competitors << Competitor.new(wl.html_url, wl.description, u.nickname)
      end
    end
    

PS:Mungkin Anda tidak ingin menggunakan map di User.all , itu akan membutuhkan banyak memori jika Anda memiliki banyak dokumen pengguna yang berat. Selain itu, Anda tidak menggunakan pengguna yang dipetakan, tetapi mengumpulkan hasil di competitors susun sendiri, jadi each seharusnya berfungsi dengan baik.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Masuk dengan kredensial root pada wadah Mongodb yang dibuat menggunakan penulisan Docker

  2. multi sum/hitung pada mongodb (jumlahkan jenis kelamin dan total semua hasil)

  3. Mongodb - Mengatur replikasi di tingkat db atau koleksi

  4. kueri bersarang di pymongo menggunakan collection.find()

  5. Hubungan Mongo DB antar objek