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

Cara mengaktifkan kueri MongoDB mentah langsung di Ruby

Inilah (mungkin) mini-tutorial yang lebih baik tentang cara masuk langsung ke inti MongoDB Anda. Ini mungkin tidak menyelesaikan masalah spesifik Anda tetapi itu akan membawa Anda sejauh versi MongoDB dari SELECT * FROM table .

Pertama-tama, Anda memerlukan Mongo::Connection obyek. Jika Anda menggunakan MongoMapper maka Anda dapat memanggil connection class pada salah satu model MongoMapper Anda untuk mendapatkan koneksi atau tanyakan langsung kepada MongoMapper:

connection = YourMongoModel.connection
connection = MongoMapper.connection

Kalau tidak, saya kira Anda akan menggunakan from_uri konstruktor untuk membangun koneksi Anda sendiri.

Maka Anda perlu mendapatkan database, Anda dapat melakukannya menggunakan notasi akses array, db metode, atau dapatkan yang sekarang langsung dari MongoMapper:

db = connection['database_name']    # This does not support options.
db = connection.db('database_name') # This does support options.
db = MongoMapper.database           # This should be configured like
                                    # the rest of your app.

Sekarang Anda memiliki Mongo::DB yang bagus dan mengkilap contoh di tangan Anda. Tapi, Anda mungkin menginginkan Collection untuk melakukan sesuatu yang menarik dan Anda bisa mendapatkannya menggunakan notasi akses array atau collection metode:

collection = db['collection_name']
collection = db.collection('collection_name')

Sekarang Anda memiliki sesuatu yang berperilaku seperti tabel SQL sehingga Anda dapat count berapa banyak hal yang dimilikinya atau kueri menggunakan find :

cursor = collection.find(:key => 'value')
cursor = collection.find({:key => 'value'}, :fields => ['just', 'these', 'fields'])
# etc.

Dan sekarang Anda memiliki apa yang sebenarnya Anda cari:keluar panas dari oven Mongo::Cursor yang menunjuk pada data yang Anda minati. Mongo::Cursor isan Enumerable jadi Anda memiliki akses ke semua teman yang berulang seperti each , first , map , dan salah satu favorit pribadi saya, each_with_object :

a = cursor.each_with_object([]) { |x, a| a.push(mangle(x)) }

Ada juga command dan eval metode pada Mongo::DB yang mungkin melakukan apa yang Anda inginkan.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDb dengan FastAPI

  2. ClusterControl 1.5 Dokumentasi - Yang Baru

  3. Menemukan nilai duplikat dalam array MongoDB

  4. cara mengunduh file yang disimpan di gridFS menggunakan nodeJS

  5. Shell dan server MongoDB tidak cocok