Eu conheço essa pergunta antiga, mas caso você ainda precise de resposta ou de qualquer outra pessoa. Esta resposta funciona com
gem mongo ~> 2.3
. A chave para responder você não precisa do mongoid neste caso - no meu caso eu uso para o modelo rails, então eu uso o mongoid (5.1.0) apenas para obter a conexão do banco de dados
db = Mongoid.default_client.database
- ou você pode obter/criar banco de dados usando o mongo gem. Para executar javascript no banco de dados você precisa chamar
command
método db.command({ eval: 'js' })
ou db.command({ eval: 'function(n){return db.projects.find({name: n}).toArray();}', args: ['beskhai'], nolock: true })
Para obter o resultado, você pode chamar
.documents
db.command(...).documents
, O retorno é um hash {retval:será o retorno do seu script, ok:é 1 se for bem sucedido} o objeto de retorno do command
chamada é [Mongo::Operation::Result]
https://github.com /mongodb/mongo-ruby-driver/blob/master/lib/mongo/operation/result.rb
.