Saya tahu pertanyaan lama ini tetapi jika Anda masih membutuhkan jawaban atau yang lain. Jawaban ini berfungsi dengan gem mongo ~> 2.3
.
Kunci untuk menjawab Anda tidak perlu mongoid dalam kasus ini - dalam kasus saya, saya menggunakannya untuk model Rails, jadi saya menggunakan mongoid (5.1.0) hanya untuk mendapatkan koneksi DB db = Mongoid.default_client.database
- atau Anda bisa mendapatkan/membuat database menggunakan mongo gem.
Untuk mengeksekusi javascript pada database Anda perlu memanggil command
metode db.command({ eval: 'js' })
atau db.command({ eval: 'function(n){return db.projects.find({name: n}).toArray();}', args: ['beskhai'], nolock: true })
Untuk mendapatkan hasilnya, Anda dapat memanggil .documents
db.command(...).documents
, Pengembaliannya adalah hash {retval:itu akan mengembalikan skrip Anda, ok:adalah 1 jika berhasil} objek pengembalian command
panggilannya adalah [Mongo::Operation::Result]
https://github.com /mongodb/mongo-ruby-driver/blob/master/lib/mongo/operation/result.rb
.