2017-07-26 2 views
0

mit MongoDB verbinden kann, wenn ich von der Schienen-Konsole mit dem Mongo Fahrer versuchen, eine Verbindung, es funktioniert gut:Nicht mongoid

client = Mongo::Client.new('mongodb://username:[email protected]:3717,dds-xxxxxxxx.mongodb.singapore.rds.aliyuncs.com:3717/graspire?replicaSet=mgset-xxxxxxx') 
client.database.collection(:courses).count 

Der obige Code funktioniert gut und gibt mir das Ergebnis. Wenn jedoch von der Schienen-Konsole i tun:

Course.count 

Dann bekomme ich diesen Fehler:

Mongo::Error::NoServerAvailable: No server is available matching preference: #<Mongo::ServerSelector::Primary:0x52072480 tag_sets=[] max_staleness=nil> using server_selection_timeout=30 and local_threshold=0.015 

Das ist mein mongoid.yml

production: 
    # Configure available database clients. (required) 
    clients: 
    # Defines the default client. (required) 
    default: 
     uri: mongodb://username:[email protected]:3717,dds-xxxxxxxx.mongodb.singapore.rds.aliyuncs.com:3717/graspire?replicaSet=mgset-xxxxxxx 
    options: 

Mit mongoid version- 6.1.0 mongo version - 2.4.1

+0

Welche Mongoid-Version? – meshin

+0

Mongoid Version - 6.1.0, Mongo Version - 2.4.1 – vigenere

Antwort

0

Wie läuft die Rails-Konsole ?. Ohne Angabe der Umgebung wird die rails-Konsole standardmäßig in der Entwicklung ausgeführt. Bitte überprüfen Sie, ob Ihre Entwicklungsgruppe in der definierten mongoid.yml definiert ist.

+0

Ich beginne in der Produktionsumgebung nur mit - "Rails c Produktion" – vigenere

+1

Können Sie unter Befehl in der Konsole ausführen? Mongoid.load! ("Config/mongoid.yml",: production) – Sanjiv

+0

Ist Ihr Mongodb-Server gestartet? Bitte überprüfe deinen mongodb-Server. – Sanjiv