4

我正在尝试使用带有暂存数据库的 pymongo 做一些简单的事情。所以像往常一样的第一件事

import pymongo
connection = pymongo.Connection(host = 'mongodb://username:password@alaki-staging.member0.mongolayer.com:37017,/dbname?safe=true&slaveOk=true&fsync=true&journal=true&ssl=true')

现在只是

connection.find({})
> Traceback (most recent call last):
  File "D:\MypythonCode\test.py", line 7, in <module>
    connection.find({})
  File "C:\Python27\lib\site-packages\pymongo\database.py", line 769, in __call_
_
    self.__name, self.__connection.__class__.__name__))
TypeError: 'Database' object is not callable. If you meant to call the 'find' me
thod on a 'Connection' object it is failing because no such method exists.

C:\Python27>python.exe D:\MypythonCode\test.py > test.d
Traceback (most recent call last):
  File "D:\MypythonCode\test.py", line 7, in <module>
    connection.find({})
  File "C:\Python27\lib\site-packages\pymongo\database.py", line 769, in __call_
_
    self.__name, self.__connection.__class__.__name__))
TypeError: 'Database' object is not callable. If you meant to call the 'find' me
thod on a 'Connection' object it is failing because no such method exists.

甚至检查版本!?

connection.version()

Traceback (most recent call last):
  File "test.py", line 7, in <module>
    connection.version()
  File "C:\Python27\lib\site-packages\pymongo\database.py", line 769, in __call_
_
    self.__name, self.__connection.__class__.__name__))
TypeError: 'Database' object is not callable. If you meant to call the 'version'
 method on a 'Connection' object it is failing because no such method exists.
Press any key to continue . . .

有什么建议吗?!

4

1 回答 1

-2

为何要

connection.find({}) 

工作?

您在没有阅读有关 MongoDB 和 PyMongo 的基础知识的情况下猜测 API 方法。

find() 显然是一个集合而不是连接的方法。

row = connection.your_collection.find()

是你什么。

请在修改和猜测 API 的使用方式之前阅读文档。

PyMongo 文档充满了示例。

于 2012-09-13T09:28:58.463 回答