从mongo删除python测试

时间:2018-04-16 22:00:29

标签: python mongodb selenium

我的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"})

1 个答案:

答案 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()