我的mongo有问题。当我结束自动化测试时,我需要删除我创建的所有数据和对象。我创建了一个脚本。在这个脚本中,我删除了几个表中的行。但是当我开始这个时,这个课没有开始,我的问题在哪里? 在consol我没有任何消息,零价值。
from pymongo import MongoClient
class deleteMongo():
def deleteFirst(self):
client = MongoClient('databaseaddress')
db = client.TableData
db.Employe.delete_one({"name": "EmployeOne"})
def deleteSecond(self):
client = MongoClient('databaseaddress')
db = client.PersonData
db.Person.delete_one({"name": "PersonOne"})
def deleteThird(self):
client = MongoClient('databaseaddress')
db = client.AutoData
db.Auto.delete_one({"name": "AutoThird"})
答案 0 :(得分:0)
如果我正确理解您的问题,您正在尝试运行上面的脚本并且它没有做任何事情?
如果这是您完整的 模块 ,则您根本不会调用该类,而是定义类对象。
class deleteMongo():
中的括号在类中是多余的,因为它总是继承object
。在此类对象的当前设置中,您应该使用def
,或者将您的类设置为初始化类的共享对象。
根据您当前的代码,试试这个:
from pymongo import MongoClient
class deleteMongo:
def __init__(self, databaseAddress):
# if the databseAddress is always the same, you can remove it from the arguments
# and hardcode it here
self.client = MongoClient(databaseAddress)
def deleteFirst(self):
db = self.client.TableData
db.Employe.delete_one({"name": "EmployeOne"})
def deleteSecond(self):
db = self.client.PersonData
db.Person.delete_one({"name": "PersonOne"})
def deleteThird(self):
db = self.client.AutoData
db.Auto.delete_one({"name": "AutoThird"})
然后当你需要调用其中一个类函数时,可以这样调用它:
deleteMongo(databaseAddress='someaddress').deleteFirst()