无法使用pymongo

时间:2018-03-14 03:57:15

标签: python mongodb pymongo

我正在使用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

它不起作用。有什么建议吗?

2 个答案:

答案 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解决了我的问题(当然,在启用身份验证后)