2016-03-24 26 views
10

Sto provando a connettermi a un database che ho ospitato su MLab. Sto usando l'API StrongLoop. Ho inserito le informazioni di configurazione per i miei database ospitati nei miei file datasources.json e config.json, ma ogni volta che eseguo la directory con npm start, ottengo throw new Error ('double colon in host identifier';) in api \ node_modules \ mongodb \ lib \ url_parser.js: 45.Errore: "Double colon in host identifer"

Mi sono anche assicurato di installare il pacchetto loopback-connecter-mongodb npm.

Ecco un frammento di datasources.json (senza i dettagli del database attuali, ovviamente):

{ 
 
    "db": { 
 
    "name": "db", 
 
    "connector": "mongodb", 
 
    "host": "ds047355.mlab.com", 
 
    "database": "dbtest", 
 
    "username": "user", 
 
    "password": "fakepassword", 
 
    "port": 47355 
 
    } 
 
}

Ecco il file diconfig.json:

{ 
 
    "restApiRoot": "/api", 
 
    "host": "ds047355.mlab.com", 
 
    "port": 47355, 
 
    "remoting": { 
 
    "context": { 
 
     "enableHttpContext": false 
 
    }, 
 
    "rest": { 
 
     "normalizeHttpPath": false, 
 
     "xml": false 
 
    }, 
 
    "json": { 
 
     "strict": false, 
 
     "limit": "100kb" 
 
    }, 
 
    "urlencoded": { 
 
     "extended": true, 
 
     "limit": "100kb" 
 
    }, 
 
    "cors": false, 
 
    "errorHandler": { 
 
     "disableStackTrace": false 
 
    } 
 
    }, 
 
    "legacyExplorer": false 
 
}

Hai qualche idea?

+2

Hai l'host e la porta all'interno del 'config.json' di quelli di origine dei dati, e questo non è il loro posto.la configurazione dovrebbe includere l'host e la porta di dove si desidera eseguire il loopback del server nodo, che localmente potrebbe essere '0.0.0.0: 3000' – Rabea

+0

Grazie per il vostro aiuto Rabee! Ho aggiunto l'host come '0.0.0.0' in' config.json' e ho aggiunto la porta come '3000', ma ho ancora lo stesso errore ... –

+0

Potrebbe anche essere quando usi': 'o'/' nella tua password di mongodb –

risposta

5

Ho finalmente risolto il problema con questo errore. Si stava leggendo uno dei miei URL del server come http://0.0.0.0/:8080 ma è stato risolto quando ho cambiato a http://0.0.0.0:8080

Spero che questo voi o qualcun altro aiuta.

+1

cosa succede se ti connetti a mlab –

2

In genere si verifica quando si forniscono informazioni errate sul proprio URL. Nel mio caso, ho fornito il url.com/db_name invece di url.com

1

HO LA SOLUZIONE!

Durante i miei orari con l'auto hosting su Ubuntu, non ho potuto caricare le mie impostazioni.json. Per qualche ragione, ho dovuto rimuovere tutto lo spazio bianco da esso.

Così finalmente mi sposto su Galaxy Meteor, seguo il loro tutorial alla lettera e ottengo tutti i tipi di errori mongo. Allora, diamine, rimuoviamo tutto lo spazio bianco, giusto?

tldr; Metti la tua intera setting.json su una riga

controllo www.skyrooms.io per vedere in esecuzione: D

0

Assicurarsi che non si dispone di strani caratteri in esso (ad esempio @#$%^:,/.), ho avuto un po 'e ottenuto che messaggio di errore. Modificata la password in alfanumerico e funziona perfettamente.

0

Ho ricevuto lo stesso errore e alla fine lo risolvo. mio previuos origine dati JSON:

"db": { 
    "host": "mongodb://127.0.0.1", 
    "port": 27017, 
    "url": "", 
    "database": "dbname", 
    "password": "12345", 
    "name": "db", 
    "user": "admin", 
    "connector": "mongodb" 
} 

Poi, ho riempito il valore URL come questo:

"db": { 
    "host": "mongodb://127.0.0.1", 
    "port": 27017, 
    "url": "mongodb://127.0.0.1:27017/dbname", 
    "database": "dbname", 
    "password": "12345", 
    "name": "db", 
    "user": "admin", 
    "connector": "mongodb" 
}