Python MongoDB服务器配置

Python MongoDB服务器配置,python,mongodb,python-3.x,database-connection,database,Python,Mongodb,Python 3.x,Database Connection,Database,我在本地主机上运行了一个MongoDB服务器。我编写了一个简单的Python程序,使用“localhost”读取/写入数据库;但是,我想让其他客户机访问我的MongoDB服务器。目前,我并不关心访问安全,我想授予任何人访问权限。我应该如何配置Mongo服务器来实现这一点 下面是连接到localhost的简单程序 from pymongo import MongoClient connection = MongoClient("Localhost") db = connec

我在本地主机上运行了一个MongoDB服务器。我编写了一个简单的Python程序,使用“localhost”读取/写入数据库;但是,我想让其他客户机访问我的MongoDB服务器。目前,我并不关心访问安全,我想授予任何人访问权限。我应该如何配置Mongo服务器来实现这一点

下面是连接到localhost的简单程序

    from pymongo import MongoClient
    connection = MongoClient("Localhost")
    db = connection.hockey.players
    results = db.find()
    print()
    print('+-+-+-+-+-+-+-+-+-+-+-+-+-+-')
    for record in results:
        print(record['name'] + ',',record['position'])
    connection.close()
我收到的错误消息是: 文件“C:/Users/Peter/PycharmProjects/Test/helloWorld.py”,第8行,在 记录结果: 文件“C:\Python34\lib\site packages\pymongo\cursor.py”,第1097行,下一页 如果len(self.\u数据)或self.\u refresh(): 文件“C:\Python34\lib\site packages\pymongo\cursor.py”,第1019行,在(刷新自我.)中 文件“C:\Python34\lib\site packages\pymongo\cursor.py”,第850行,在发送消息**kwargs中 文件“C:\Python34\lib\site packages\pymongo\mongo\u client.py”,第777行,在带有响应服务器=拓扑的消息中。选择服务器(选择器) 文件“C:\Python34\lib\site packages\pymongo\topology.py”,第142行,在select_服务器地址中) 文件“C:\Python34\lib\site packages\pymongo\topology.py”,第118行,在select\u servers self.\u error\u消息(选择器)中 pymongo.errors.ServerSelectionTimeoutError:x.y.z.w:27017:超时

Process finished with exit code 1
下面是我当前的localhost设置,如果我在托管MongoDB的客户端上运行它,它可以正常工作


谢谢

给他们您的ip地址和端口号(默认:27017)以连接到您的服务器。还可以将
mongod.conf
文件中的
bindIp
编辑为
bindIp:0.0.0
。请他们使用以下方式连接到您的数据库:

from pymongo import MongoClient
connection = MongoClient("mongodb://your_ip:yourport")
如果您在windows上,请创建配置文件
mongod.cfg
。并将条目添加为

systemLog:
    destination: file
    path: c:\data\log\mongod.log
storage:
    dbPath: c:\data\db
net:
    bindIp: 0.0.0.0
    port: 27017
确保您已经创建了
log
db
文件夹,或者更改数据和日志文件夹所在的路径。
通过指定配置文件启动mongodb。

验证本地接口是否已启动。它应该解释超时的原因

ifup lo

感谢您的快速跟进。我没有找到配置文件,所以在MongoDb bin目录中创建了一个。我将bindIp标志设置为0.0.0.0。我使用这个配置文件启动了MongoDb服务器。当我使用“localhost”连接字符串运行应用程序时,它运行正常。但是,当我将localhost更改为“mongodb://my_ip:27017“,我仍在计时您使用的操作系统是什么?如果是linux,文件将位于
/etc/mongod.conf
中。当我键入cmd:mongod--config“/bin/MongoDB.conf”时,MongoDB服务器似乎正在读取此配置文件。我正在用一些参数进行模拟,我看到了一些错误消息。谢谢你的帮助!另外,我的问题是,我使用的是机器的公共IP地址,而不是私有IP地址