我正在使用windows8
来编写使用IDLE
的代码。我尝试将python
与mongodb
联系起来。但是当试图获取集合名称时,它会产生错误。
ServerSelectionTimeoutError:localhost:20101:[Errno 10061]无法建立连接,因为目标计算机主动拒绝它
这是我收到错误的代码。
from pymongo import MongoClient
connection = MongoClient('localhost',20101)
db = connection['Bhautik']
collection = db['Student']
db.collection_names(include_system_collections=True)
答案 0 :(得分:2)
根据输出消息,您可能未设置mongo bind_ip
或未设置dbpath
。试试这个:
mongod --dbpath <database_path> --bind_ip 127.0.0.1 --port 20101
将代码与mongodb配置相关联,如服务器端口,是否使用身份验证,使用哪个dbpath等等,会更有帮助。
所以在你的问题中提出你的mongodb.conf(如果你使用的话)或你用来启动mongo服务器的命令。
答案 1 :(得分:2)
如果您在安装后开始使用mongoDB,请创建C:/data/db
,因为它是mongoDB使用的默认数据库目录。
要更改数据库目录,请键入以下内容:
C:\Program Files\MongoDB\Server\3.x\bin> mongod --dbpath "c:\custom_folder"
答案 2 :(得分:0)
你可以试试 像那样运行mongo:
"C:\\Program Files\\MongoDB\\Server\\3.6\\bin\\mongod.exe" --dbpath E:\\data\\db --port 27017 --bind_ip 127.0.0.1
E:\ data \ db应该是您的位置路径 然后在你的代码中 它会像
一样client = MongoClient("127.0.0.1", 27017)
db = client['addsome']
datas = db.follow_up
如果您想从远程计算机访问,请确保在防火墙中打开端口“27017”
答案 3 :(得分:0)
有时,如果您忘记运行本地服务器(如果它与本地服务器一起运行),则会出现此错误。
要运行它,您需要在终端上编写:
C:\Program Files\MongoDB\Server\4.0\bin\mongod.exe
或者,如果MongoDB不在PATH中,则可以通过计算机中的此链接找到它:
public class ConcreteType : StackEventData<ConcreteType>
{
}
public class StackEventData<T>
{
}
答案 4 :(得分:0)
为了运行MongoDB,