求助:pymongo连接失败

时间:2021-12-19 17:26:59
在连接pymongo的数据库时报错,有的人说是要将mongod.lock 删除,可是mongod.lock 在哪里呢?
是不是每次启动MongoDB都要将mongod.lock 删除,还有什么其他方法么?
>>> import pymongo
>>> con = pymongo.Connection()

Traceback (most recent call last):
  File "<pyshell#1>", line 1, in <module>
    con = pymongo.Connection()
  File "E:\STUDY\python\python 2.7.3\lib\site-packages\pymongo-2.5-py2.7-win32.egg\pymongo\connection.py", line 220, in __init__
    max_pool_size, document_class, tz_aware, _connect, **kwargs)
  File "E:\STUDY\python\python 2.7.3\lib\site-packages\pymongo-2.5-py2.7-win32.egg\pymongo\mongo_client.py", line 336, in __init__
    raise ConnectionFailure(str(e))
ConnectionFailure: could not connect to localhost:27017: [Errno 10061] 

1 个解决方案

#1


1.mongodb需要两个目录,一个是可执行文件的目录,另一个是数据库的目录
  你指定数据库的目录了吗?默认的目录是data\db
(至于是在C盘还是D盘,你可以在每一个盘里面都新建目录data\db)
  (这两个目录,你可以全盘搜索mong*.*)

2.mongod.lock在哪里?
你可以用30分钟的时间全盘搜索。如果你没有搜索到,说明你还没有创建data\db文件夹
(mongod.lock在数据库目录里)

3.是否要删除mongod.lock?
如果只有在突然停电,没有正常关机的情况下才会有mongod.lock。
也只有在那个时候,你才需要删除

4.仅仅删除mongod.lock还是不够的
你还应该在命令行执行 mongod --repair ,用他来恢复因为突然停电而没有保存的数据库
(mongod 在可执行目录里面)

5.在你用python连接mongodb的时候,首先要确保你能用mongo.exe连接上
如果mongo.exe也连接不上,你应该执行第3、4条。

6.有几本书:mongodb definitive、definitive mongodb、mongodb权威(是前两本之一的中文版)。
你随便找一本,先看看install那一章。
你花几个小时看书比你等几个小时的答案更有意义。

#1


1.mongodb需要两个目录,一个是可执行文件的目录,另一个是数据库的目录
  你指定数据库的目录了吗?默认的目录是data\db
(至于是在C盘还是D盘,你可以在每一个盘里面都新建目录data\db)
  (这两个目录,你可以全盘搜索mong*.*)

2.mongod.lock在哪里?
你可以用30分钟的时间全盘搜索。如果你没有搜索到,说明你还没有创建data\db文件夹
(mongod.lock在数据库目录里)

3.是否要删除mongod.lock?
如果只有在突然停电,没有正常关机的情况下才会有mongod.lock。
也只有在那个时候,你才需要删除

4.仅仅删除mongod.lock还是不够的
你还应该在命令行执行 mongod --repair ,用他来恢复因为突然停电而没有保存的数据库
(mongod 在可执行目录里面)

5.在你用python连接mongodb的时候,首先要确保你能用mongo.exe连接上
如果mongo.exe也连接不上,你应该执行第3、4条。

6.有几本书:mongodb definitive、definitive mongodb、mongodb权威(是前两本之一的中文版)。
你随便找一本,先看看install那一章。
你花几个小时看书比你等几个小时的答案更有意义。