我写了一个类,假设将mongoDB连接为数据库
class DB:
def __init__(self,hostName ,port):
self._conn = myDB.Connection(hostName, port)
self.mydb = _conn['mydb']
self.mycollection = mydb["recipe"]
def find_name(self, name :str):
return self.mycollection.find({"name": name})
现在我想从这个数据库中查询
所以我跑了
dd = mydb("localhost", 27017)
我想使用find_name(name)
函数。我买了
dd = mydb(“localhost”,27017)TypeError:'module'对象不可调用
问题是如何创建一个DB类并将其用于从其他.py
文件查询。提前致谢
您可能已将您的pymongo文件命名为mydb.py
并且您可能正在导入您的PyMongo模块,如下所示:
import mydb
然后像这样调用它:
dd = mydb('localhost', 27017)
问题是,mydb
是一个模块。这与你在DB
中定义的类mydb
不同。你需要创建一个DB
的对象。你可以这样做:
dd = mydb.DB('localhost', 27017)
或者,通过这样:
from mydb import DB
...
dd = DB('localhost', 27017)