pymongo在创建Connection时挂起

时间:2011-11-05 05:37:22

标签: python mongodb pymongo

当我从Python shell运行以下行时,代码挂起:

from pymongo import Connection
c = Connection('localhost', 27017)

我想它正等着从mongo服务器回来。当我中断通话时,我得到追溯:

^CTraceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/lib/python2.6/dist-packages/pymongo/connection.py", line 325, in __init__
self.__find_node()
  File "/usr/local/lib/python2.6/dist-packages/pymongo/connection.py", line 589, in __find_node
node = self.__try_node(candidate)
  File "/usr/local/lib/python2.6/dist-packages/pymongo/connection.py", line 528, in __try_node
response = self.admin.command("ismaster")
  File "/usr/local/lib/python2.6/dist-packages/pymongo/database.py", line 335, in command
_is_command=True)
  File "/usr/local/lib/python2.6/dist-packages/pymongo/collection.py", line 486, in find_one
for result in self.find(spec_or_id, *args, **kwargs).limit(-1):
  File "/usr/local/lib/python2.6/dist-packages/pymongo/cursor.py", line 655, in next
if len(self.__data) or self._refresh():
  File "/usr/local/lib/python2.6/dist-packages/pymongo/cursor.py", line 618, in _refresh
self.__query_spec(), self.__fields))
  File "/usr/local/lib/python2.6/dist-packages/pymongo/cursor.py", line 575, in __send_message
**kwargs)
  File "/usr/local/lib/python2.6/dist-packages/pymongo/connection.py", line 807, in _send_message_with_response
return self.__send_and_receive(message, sock)
  File "/usr/local/lib/python2.6/dist-packages/pymongo/connection.py", line 788, in __send_and_receive
return self.__receive_message_on_socket(1, request_id, sock)
  File "/usr/local/lib/python2.6/dist-packages/pymongo/connection.py", line 774, in __receive_message_on_socket
header = self.__receive_data_on_socket(16, sock)
  File "/usr/local/lib/python2.6/dist-packages/pymongo/connection.py", line 763, in __receive_data_on_socket
chunk = sock.recv(length - len(message))
KeyboardInterrupt

mongod选择不回应吗?看起来我等待从套接字接收数据。

然而,这有效(这意味着mongod正常运行):

$ mongo --port 27017
MongoDB shell version: 2.0.1
connecting to: 127.0.0.1:27017/test

1 个答案:

答案 0 :(得分:1)

抱歉愚蠢的错误。我把mongod的工作停在了后台。

相关问题