如何在Python(Pymongo)中编写触发器和功能代码,用于MongoDB针迹,而不是Nodejs(Mongoose



我想用我的python脚本和数据库事件上的fire trigger设置mongodb针迹的连接以执行python函数。

我已经看过这篇文章,该文章显示了与Python脚本的Stitch的联系。我找不到如何在Python中进行JavaScript的这种类型的导入。

我希望,如果我的数据库中有一个已知集合的TTL索引文档的删除,那么MongoDB会触发我的Python脚本并在我的Python脚本中执行函数。我该如何实现?

mongodb缝制触发器触发配置类型的应用程序,并与特定的针迹函数链接。此函数是针迹托管函数,当前 mongodb针迹函数只能使用JavaScript(ES6 (编写。因此,目前无法为针迹触发器编写Python功能。根据您要做的事情,如果它足够简单,我建议将Python逻辑转换为JavaScript。

还有几个解决方法,您可以根据自己的要求和用例尝试尝试:

  1. 使用pymongo.change_stream打开MongoDB变频器,以观察集合,数据库或整个群集上的更改。针迹触发器还利用MongoDB变频器作为基础机制。这里的区别在于,执行不在针迹服务器中,而是在您的应用程序服务器中。例如:

    pipeline = [{'$match': {'operationType': 'insert'}}]
    with db.collection.watch(pipeline) as stream:
        for insert_change in stream:
            # Trigger something based on an insert of a document 
            print(insert_change)
    
  2. 为调用您自己的应用程序Web服务器的触发器编写一个简单的针迹函数(在JavaScript中(。例如,编写一个接受REST API端点的Python烧瓶Web服务器,即https://your.custom.server.com/api/v1/insert?event=101,然后执行您的Python函数。在这里,您将Changestream手表委托为缝制,但要等待一台服务器等待stitch的来电。

最新更新