sql >> Databasteknik >  >> NoSQL >> MongoDB

Exekvera mongodb-skript via mongoidskenor

Jag känner till den här gamla frågan men om du fortfarande behöver svar eller någon annan. Det här svaret fungerar med gem mongo ~> 2.3 .

Nyckeln för att svara behöver du inte mongoid i det här fallet - i mitt fall använder jag det för rails-modell, så jag använder mongoid (5.1.0) bara för att få DB-anslutning db = Mongoid.default_client.database - eller så kan du skaffa/skapa databas med mongo gem.

För att köra javascript på databasen måste du anropa command metod db.command({ eval: 'js' }) eller db.command({ eval: 'function(n){return db.projects.find({name: n}).toArray();}', args: ['beskhai'], nolock: true })

För att få resultatet kan du ringa .documents db.command(...).documents , Returen är en hash {retval:det kommer att returneras av ditt skript, ok:är 1 om framgång} returobjektet för command samtalet är [Mongo::Operation::Result] https://github.com /mongodb/mongo-ruby-driver/blob/master/lib/mongo/operation/result.rb .



  1. JSONObjekt till dokument

  2. Sortering efter relevans med MongoDB

  3. Hur tar man bort en gammal version av mongodb och installerar den nya i cloud9 IDE?

  4. mongoose hitta ett dokument genom referensegenskap