MongoDB 服务器配置

MongoDB Server Configuration

我的本地主机上有一个 MongoDB 服务器 运行ning。我写了一个简单的 Python 程序,它 reads/writes 使用 "localhost" 到数据库;但是,我想让其他客户端访问我的 MongoDB 服务器。现在,我不关心访问安全性,并且想向任何人授予访问权限。我应该如何配置 Mongo 服务器来执行此操作?

这是连接本地主机的简单程序。

    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.__data) 或 self._refresh(): 文件 "C:\Python34\lib\site-packages\pymongo\cursor.py",第 1019 行,在 _refresh self.__read_concern)) 文件 "C:\Python34\lib\site-packages\pymongo\cursor.py",第 850 行,在 __send_message **kwargs 中) 文件 "C:\Python34\lib\site-packages\pymongo\mongo_client.py",第 777 行,在 _send_message_with_response 服务器 = topology.select_server(选择器)中 文件 "C:\Python34\lib\site-packages\pymongo\topology.py",第 142 行,地址 select_server)) 文件 "C:\Python34\lib\site-packages\pymongo\topology.py",第 118 行,在 select_servers self._error_message(选择器)中 pymongo.errors.ServerSelectionTimeoutError: x.y.z.w:27017: 超时

Process finished with exit code 1

下面是我当前的本地主机设置,如果我 运行 在托管 Mongo 数据库的客户端上,它可以正常工作。 Current setup

谢谢

向他们提供您的 IP 地址和端口号(默认值:27017)以连接到您的服务器。同时将 mongod.conf 文件中的 bindIp 编辑为 bindIp: 0.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

确保您已经创建了 logdb 文件夹,或者更改数据和日志文件夹所在的路径。 通过指定 thr 配置文件启动 mongodb。

确认您的本地接口已启动。它应该解释超时。

ifup lo