Jag känner till den här gamla frågan men om du fortfarande behöver svar eller någon annan. Det här svaret fungerar med gem mongo ~> 2.3
.
Nyckeln för att svara behöver du inte mongoid i det här fallet - i mitt fall använder jag det för rails-modell, så jag använder mongoid (5.1.0) bara för att få DB-anslutning db = Mongoid.default_client.database
- eller så kan du skaffa/skapa databas med mongo gem.
För att köra javascript på databasen måste du anropa command
metod db.command({ eval: 'js' })
eller db.command({ eval: 'function(n){return db.projects.find({name: n}).toArray();}', args: ['beskhai'], nolock: true })
För att få resultatet kan du ringa .documents
db.command(...).documents
, Returen är en hash {retval:det kommer att returneras av ditt skript, ok:är 1 om framgång} returobjektet för command
samtalet är [Mongo::Operation::Result]
https://github.com /mongodb/mongo-ruby-driver/blob/master/lib/mongo/operation/result.rb
.