Je connais cette vieille question, mais au cas où vous auriez encore besoin d'une réponse ou de quelqu'un d'autre. Cette réponse fonctionne avec gem mongo ~> 2.3
.
La clé pour répondre que vous n'avez pas besoin de mongoid dans ce cas - dans mon cas, je l'utilise pour le modèle de rails, donc j'utilise mongoid (5.1.0) uniquement pour obtenir la connexion DB db = Mongoid.default_client.database
- ou vous pouvez obtenir/créer une base de données en utilisant mongo gem.
Pour exécuter javascript sur la base de données, vous devez appeler command
méthode db.command({ eval: 'js' })
ou db.command({ eval: 'function(n){return db.projects.find({name: n}).toArray();}', args: ['beskhai'], nolock: true })
Pour obtenir le résultat, vous pouvez appeler .documents
db.command(...).documents
, Le retour est un hachage {retval :ce sera le retour de votre script, ok :vaut 1 si succès} l'objet de retour de la command
l'appel est [Mongo::Operation::Result]
https://github.com /mongodb/mongo-ruby-driver/blob/master/lib/mongo/operation/result.rb
.