我想在我的mongodb中使用身份验证。所以我创建了一个用户。我可以在命令行上连接哪个用户并插入数据而没有任何问题。
但是当我想在grails中使用此用户时,我收到此错误:
{ "serverUsed" : "127.0.0.1:27017" , "ok" : 0.0 , "errmsg" : "auth failed" , "code" : 18 , "codeName" : "AuthenticationFailed"}
当我从命令行连接时,一切正常:
mongo --port 27017 -u "mongouser" -p "pwd" mydb
Grails中的代码:
MongoCredential credential = MongoCredential.createMongoCRCredential("mongouser", "mydb", "pwd".toCharArray())
def mongoClient = new MongoClient( new ServerAddress(host, port), [credential ] )
gMongoCon = new GMongo(mongoClient)
这里有什么问题?
答案 0 :(得分:0)
在Config.groovy或外部配置中添加您的mongo凭据,如下所示,
grails
{
mongo
{
host = "YOUR_HOST_NAME_OR_IP_ADDRESS" // e.g localhost
port = 27017
username = "mongouser" //Username
password = "pwd" //password
databaseName = "mydb" //Database name
}
}
注意:如果应用程序和/更改/etc/mongod.conf中的bind_ip mongo在不同的服务器上。
答案 1 :(得分:0)
This solution works:
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "mainCell") as? mainCell
let information:NSDictionary = [:]
cell?.setInformation(3, information)
return cell!
}