我正在尝试使用Node.js中的Mongoose使用用户名和密码连接到MongoDB数据库.所有文档都说连接字符串应该是这样的
mongodb://username:password@host:port/db
Run Code Online (Sandbox Code Playgroud)
但是,密码中包含"@"字符.我怎么能用这个mongoose能理解的连接字符串?我可以在密码中转义'@',还是有另一种连接方法我必须使用?
我正在尝试mongodb
从我的Web应用程序连接到.但是,auth failed error
当我指定要连接的数据库时,我从mongo 获得了一个.如果我没有指定db,那么连接成功.
我检查了拼写以及数据库是否以mongo命令行退出 show dbs
var dbURI = 'mongodb://root:pwd@localhost:27017/dbname';
mongoose.connect(dbURI, function(err) {
if (err) throw err;
});
C:\Users\David\Documents\Bitbucket\productWebsite\node_modules\mongoose\node_modules\mongodb\lib\mongodb\connection\base.js:245
throw message;
^
MongoError: auth failed
at Object.toError (C:\Users\David\Documents\Bitbucket\productWebsite\node_modules\mongoose\node_modules\mongodb\lib\mongodb\utils.js:114:11)
at C:\Users\David\Documents\Bitbucket\productWebsite\node_modules\mongoose\node_modules\mongodb\lib\mongodb\db.js:1130:31
at C:\Users\David\Documents\Bitbucket\productWebsite\node_modules\mongoose\node_modules\mongodb\lib\mongodb\db.js:1847:9
at Server.Base._callHandler (C:\Users\David\Documents\Bitbucket\productWebsite\node_modules\mongoose\node_modules\mongodb\lib\mongodb\connection\base.js:445:41)
at C:\Users\David\Documents\Bitbucket\productWebsite\node_modules\mongoose\node_modules\mongodb\lib\mongodb\connection\server.js:478:18
at MongoReply.parseBody (C:\Users\David\Documents\Bitbucket\productWebsite\node_modules\mongoose\node_modules\mongodb\lib\mongodb\responses\mongo_reply.js:68:5)
at null.<anonymous> (C:\Users\David\Documents\Bitbucket\productWebsite\node_modules\mongoose\node_modules\mongodb\lib\mongodb\connection\server.js:436:20)
at emit (events.js:95:17)
at null.<anonymous> (C:\Users\David\Documents\Bitbucket\productWebsite\node_modules\mongoose\node_modules\mongodb\lib\mongodb\connection\connection_pool.js:201:13)
at emit (events.js:98:17)
Run Code Online (Sandbox Code Playgroud)
我正在使用Bitnami Mean stack for Windows
有人能告诉我我忘记了什么吗?
当你使用SQLAlchamey中的python连接到mongodb时,我们使用
mongodb://username:password@host/database
Run Code Online (Sandbox Code Playgroud)
如果我的密码是P@ssword
,我怎么能逃过这@
封信.
在我的情况下,由于这个原因,它正在破坏连接.
除了更改密码之外还有什么方法吗?
我使用副本集为Sitecore配置了MongoDB.我设置了密钥文件访问控制并添加了一个用户.但是我在创建连接字符串时遇到了问题.
让我们假设我的副本集名称rsHelloWorld
有几个mongod
实例:localhost:21017,localhost:21018,localhost:21019,localhost:21020,localhost:21021(arbitor)
username: mongo_admin
password: test@123
Run Code Online (Sandbox Code Playgroud)
Sitecore中的默认连接字符串是:
<add name="analytics" connectionString="mongodb://localhost/analytics" />
Run Code Online (Sandbox Code Playgroud)
如何使用副本集和身份验证为MongoDB数据库指定连接字符串?
mongodb ×4
node.js ×2
mean-stack ×1
mongoose ×1
python ×1
sitecore ×1
sitecore-xdb ×1
sitecore8.1 ×1
sql ×1
sqlalchemy ×1