MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

Esecuzione di script mongodb tramite mongoid Rails

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 .