我正在使用pymongo连接到mongod。 以下代码可以使用
def init_db():
client = MongoClient('localhost', 27017)
db = client.test_db
return db
但是,当我将上面的'localhost'更改为我的机器的主机名时,就像这样
def init_db():
client = MongoClient('p-linux', 27017)
db = client.test_db
return db
它不起作用。有什么建议吗?
答案 0 :(得分:0)
在 /etc/mongod.conf 文件中更改以下内容后尝试。
# Listen to local interface only. Comment out to listen on all interfaces.
#bind_ip = 127.0.0.1
通过
重启服务sudo service mongod restart
评论#bind_ip = 127.0.0.1将向任何人/任何地方开放。确保您的防火墙/ iptables过滤未经请求的连接和/或添加安全性:授权:'已启用'在你的/etc/mongod.conf中。否则,任何人/任何地方都可以写入您的数据库。
此外,当您想要连接到localhost或默认配置以外的主机时,您可以:
mongo <host>
表示在从API连接之前,您应确认客户端从终端或mongo.exe连接的位置,并检查mongod服务器URL,然后确保在API中使用相同的。
答案 1 :(得分:0)
更新:我通过使用--bind_ip_all选项启动mongod解决了我的问题(当然,在启用身份验证后)