MongoDB的LiveData,类似于RDBM触发器或MeteorJS LiveData

mongotriggers的Python项目详细描述


https://api.travis-ci.org/drorasaf/mongotriggers.svg?branch=masterhttps://coveralls.io/repos/github/drorasaf/mongotriggers/badge.svg?branch=masterhttps://img.shields.io/pypi/v/mongotriggers.svghttps://img.shields.io/pypi/dm/mongotriggers.svgDocumentation Status

这是什么?

MongoDB触发器是一个轻量级的库,允许真正的实时更改通知。 这类似于sql中的触发器。这种功能可以在Java和JavaScript(MeteorJS)中找到

有什么好处?

现代的应用程序已经变得近乎实时的响应和更新,这就要求对数据所做的任何更改都要尽快传播到应用程序的顶层。

为了允许这种情况发生,必须通知数据库中的任何更改,使用此方法的类似项目是https://github.com/meteor/meteor

更多文档可在http://mongotriggers.readthedocs.io

安装

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安装。 最简单的测试方法是进行毒物测试。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java中的else if语句返回语法错误   http如何解析从表单到REST Java/Webservice的post请求   java如何在SpringBoot中为RestTemplate编写JUnit测试   java动态检查实例是否实现接口   java在Android中使用ArrayAdaptor时,数据不会显示   根据前序遍历返回二进制树的java方法   Arquillian测试类中的java注入始终为空   用户界面Java Swing自定义控件   java使用CompletableFutures递归地从同一函数的多个调用构建列表   在Java中将“.00”添加到整数BigDecimal   卡夫卡java未知\u主题\u或\u部分错误间歇性   java为什么我的getString()方法总是返回null?   java renameTo无法重命名文件   java为什么我可以强制转换对象?可以用其他对象来完成吗?   带有回写条件的java多根记录器   关于stackoverflow错误的java帮助?   java Websphere消息队列多线程   Java图形窗口/画布未垂直显示完整的六边形网格   java Sakai未在Tomcat服务器中启动