Znám tuto starou otázku, ale pro případ, že byste stále potřebovali odpověď nebo někoho jiného. Tato odpověď funguje s gem mongo ~> 2.3
.
Klíč k odpovědi, že v tomto případě nepotřebujete mongoid - v mém případě jej používám pro model kolejnic, takže používám mongoid (5.1.0) pouze pro získání DB spojení db = Mongoid.default_client.database
- nebo můžete získat/vytvořit databázi pomocí mongo gem.
Chcete-li spustit javascript na databázi, musíte zavolat command
metoda db.command({ eval: 'js' })
nebo db.command({ eval: 'function(n){return db.projects.find({name: n}).toArray();}', args: ['beskhai'], nolock: true })
Chcete-li získat výsledek, můžete zavolat .documents
db.command(...).documents
, Návrat je hash {retval:bude to návrat vašeho skriptu, ok:je 1 v případě úspěchu} návratový objekt command
volání je [Mongo::Operation::Result]
https://github.com /mongodb/mongo-ruby-driver/blob/master/lib/mongo/operation/result.rb
.