Znam to stare pytanie, ale na wypadek, gdybyś nadal potrzebował odpowiedzi lub innej. Ta odpowiedź działa z gem mongo ~> 2.3
.
Kluczem do odpowiedzi, że nie potrzebujesz w tym przypadku mongoid - w moim przypadku używam go do modelu rails, więc używam mongoid (5.1.0) tylko do uzyskania połączenia DB db = Mongoid.default_client.database
- lub możesz uzyskać/utworzyć bazę danych za pomocą mongo gem.
Aby wykonać javascript na bazie danych, musisz wywołać command
metoda db.command({ eval: 'js' })
lub db.command({ eval: 'function(n){return db.projects.find({name: n}).toArray();}', args: ['beskhai'], nolock: true })
Aby uzyskać wynik, możesz wywołać .documents
db.command(...).documents
, Zwrotem jest hash {retval:będzie to zwrot twojego skryptu, ok:jest 1 jeśli sukces} zwracany obiekt command
wywołanie to [Mongo::Operation::Result]
https://github.com /mongodb/mongo-ruby-driver/blob/master/lib/mongo/operation/result.rb
.