Conosco questa vecchia domanda, ma nel caso tu abbia ancora bisogno di una risposta o di qualcun altro. Questa risposta funziona con gem mongo ~> 2.3
.
La chiave per rispondere non è necessaria mongoid in questo caso - nel mio caso lo uso per il modello di binari, quindi uso mongoid (5.1.0) solo per ottenere una connessione DB db = Mongoid.default_client.database
- oppure puoi ottenere/creare database usando mongo gem.
Per eseguire javascript sul database devi chiamare command
metodo db.command({ eval: 'js' })
o db.command({ eval: 'function(n){return db.projects.find({name: n}).toArray();}', args: ['beskhai'], nolock: true })
Per ottenere il risultato puoi chiamare .documents
db.command(...).documents
, Il ritorno è un hash {retval:sarà restituito dal tuo script, ok:è 1 se successo} l'oggetto restituito di command
la chiamata è [Mongo::Operation::Result]
https://github.com /mongodb/mongo-ruby-driver/blob/master/lib/mongo/operation/result.rb
.