为MongoMock添加附加功能。
mongomock-mate的Python项目详细描述
欢迎使用mongomock_mate文档
使用mongomock_mate:
只需在脚本开头导入mongomock_mate。它使用猴子补丁:
importmongomock_mate
功能:
数据持久性:转储和加载数据
importmongomock_mate# dumpdb=client["test"]c_user=db["user"]c_user.insert([{"_id":1,"name":"Alice"},{"_id":2,"name":"Bob"}])db.dump_db("test.json")# loaddb=client["test"]db.load_db("test.json")# other paramsdefdump_db(self,file,pretty=False,overwrite=False,verbose=True):""" Dump :class:`mongomock.database.Database` to a local file. Only support ``*.json`` or ``*.gz`` (compressed json file) :param file: file path. :param pretty: bool, toggle on jsonize into pretty format. :param overwrite: bool, allow overwrite to existing file. :param verbose: bool, toggle on log. """defload_db(self,file,check_dbname=True,verbose=True):""" Load :class:`mongomock.database.Database` from a local file. :param file: file path. :param check_dbname: bool, if True, the dbname has to be matched. :param verbose: bool, toggle on log. """
使用mongoengine orm:
2018年7月30日:
在mongomock==3.10.0时,insert操作不适用于最新的mongoengine==0.15.3,因为WriteConcern在mongomock中的实现不正确。
importmongomock_matefrommongoengineimportconnect,Document,fieldsconnect('mongoenginetest',host='mongomock://localhost')classUser(Document):_id=fields.IntField(primary_key=True)name=fields.StringField()User.objects.insert(User(_id=1,name="Alice"))
安装
mongomock_mate在pypi上发布,所以您只需要:
$ pip install mongomock_mate
要升级到最新版本:
$ pip install --upgrade mongomock_mate