Node.js 错误:";主机标识中的双冒号“;
我正在尝试连接到我在MLab托管的数据库。我正在使用StrongLoop API。我已经将托管数据库的配置信息放在datasources.json和config.json文件中,但每当我使用Node.js 错误:";主机标识中的双冒号“;,node.js,mongodb,strongloop,Node.js,Mongodb,Strongloop,我正在尝试连接到我在MLab托管的数据库。我正在使用StrongLoop API。我已经将托管数据库的配置信息放在datasources.json和config.json文件中,但每当我使用npm start运行目录时,就会在api\node\u modules\mongodb\lib\url\u parser.js:45处出现抛出新错误('host identifier中的双冒号') 我还确保安装了环回连接器mongodb npm包 下面是一段datasources.json(当然没有实际的数
npm start
运行目录时,就会在api\node\u modules\mongodb\lib\url\u parser.js:45处出现抛出新错误('host identifier中的双冒号')
我还确保安装了环回连接器mongodb npm包
下面是一段datasources.json(当然没有实际的数据库详细信息):
{
“db”:{
“名称”:“db”,
“连接器”:“mongodb”,
“主机”:“ds047355.mlab.com”,
“数据库”:“dbtest”,
“用户名”:“用户”,
“密码”:“伪造密码”,
“港口”:47355
}
}
我终于解决了导致此错误的问题。它将我的一个服务器URL读取为,但在我更改为时已修复
希望这对您或其他人有所帮助。当您提供有关URL的错误信息时,通常会发生这种情况。在我的例子中,我提供了
url.com/db_name
而不是url.com
我有解决方案强>
在我在Ubuntu上自我托管的时候,我无法加载我的settings.json。出于某种原因,我不得不把所有的空白都去掉
所以我最终转到流星星系,严格按照他们的教程去做,得到了各种各样的mongo错误。那又怎么样,让我们去掉所有的空白,对吗
tldr;将整个setting.json放在一行上
查看www.skyrooms.io以查看运行:D确保其中没有奇怪的字符(例如,
@$%^:,/。
),我有一些,并收到了错误消息。将密码更改为字母数字密码,工作正常。我遇到了同样的错误,最终解决了它。
My previuos数据源json:
"db": {
"host": "mongodb://127.0.0.1",
"port": 27017,
"url": "",
"database": "dbname",
"password": "12345",
"name": "db",
"user": "admin",
"connector": "mongodb"
}
然后,我像这样填充url值:
"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"
}
您将
config.json
中的主机和端口作为数据源,而这不是它们的位置。配置应包括您希望环回运行节点服务器的主机和端口,在本地可以是0.0.0.0:3000
谢谢您的帮助!我在config.json
中将主机添加为0.0.0
,并将端口添加为3000
,但我仍然收到相同的错误…这也可能是当您在mongodb密码中使用:
或/
时,如果您连接到mlab呢