MongoDB的LiveData,类似于RDBM触发器或MeteorJS LiveData
mongotriggers的Python项目详细描述
这是什么?
MongoDB触发器是一个轻量级的库,允许真正的实时更改通知。 这类似于sql中的触发器。这种功能可以在Java和JavaScript(MeteorJS)中找到
有什么好处?
现代的应用程序已经变得近乎实时的响应和更新,这就要求对数据所做的任何更改都要尽快传播到应用程序的顶层。
为了允许这种情况发生,必须通知数据库中的任何更改,使用此方法的类似项目是https://github.com/meteor/meteor。
安装
PYPI上提供了安装程序。您可以通过pip安装它:
$ pip install mongotriggers
我为什么要用它?
最好的功能是另一个为您维护的功能,以及100%的代码覆盖率。 此包遵循MongoDB发布的最佳实践: -https://www.mongodb.com/blog/post/tailing-mongodb-oplog-sharded-clusters -https://www.mongodb.com/blog/post/pitfalls-and-workarounds-for-tailing-the-oplog-on-a-mongodb-sharded-cluster
如何使用?
假设开发中的系统是一个财务系统,数据库中的每一次删除都非常重要,因此我们希望通知您每一次删除。
frommongotriggersimportMongoTriggerfrompymongoimportMongoClientdefnotify_manager(op_document):print('wake up! someone is adding me money')client=MongoClient(host='localhost',port=27017)triggers=MongoTrigger(conn)triggers.register_op_trigger(notify_manager,'my_account','my_transactions')triggers.tail_oplog()client['my_account']['my_transactions'].insert_one({"balance":1000})triggers.stop_tail()
请记住,它是在延迟的上下文中运行的,以便在取消之前无休止地运行。
测试
为了开发,附加要求如下:
- pytest
- pytest cov
- 毒性
所有软件包都可以使用pip安装。 最简单的测试方法是进行毒物测试。