使用pymongo作为类来查询

问题描述 投票:0回答:1

我写了一个类,假设将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文件查询。提前致谢

python mongodb pymongo
1个回答
0
投票

您可能已将您的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)
© www.soinside.com 2019 - 2024. All rights reserved.