Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/330.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python&;mongoDB:监视数据库更改并通过websocket将更改推送到客户端_Python_Django_Mongodb_Monitor - Fatal编程技术网

Python&;mongoDB:监视数据库更改并通过websocket将更改推送到客户端

Python&;mongoDB:监视数据库更改并通过websocket将更改推送到客户端,python,django,mongodb,monitor,Python,Django,Mongodb,Monitor,我正在使用Django 1.10和mongoDB编写应用程序的后端。 mongoDB数据库由一个外部程序(不是Django)填充。 Django接受websocket,当注册mongoDB更改时,websocket应该通过websocket将新数据推送到客户端 问题:当mongoDB数据库发生更改(插入、更新、删除)时,Django是否可能收到通知 我已经看过了,如果这是答案,我希望看到一个有效的例子 我可以想象这种方法会是这样的: @channel_session def ws_receive

我正在使用Django 1.10和mongoDB编写应用程序的后端。 mongoDB数据库由一个外部程序(不是Django)填充。 Django接受websocket,当注册mongoDB更改时,websocket应该通过websocket将新数据推送到客户端

问题:当mongoDB数据库发生更改(插入、更新、删除)时,Django是否可能收到通知

我已经看过了,如果这是答案,我希望看到一个有效的例子

我可以想象这种方法会是这样的:

@channel_session
def ws_receive(message):
    # If message == 'subscribe' and channel == 'mongoDB'
    # Listen for mongoDB changes and push changes to client

任何此类操作的基础都是上的,它位于任何MongoDB“副本集”上。请注意,如果需要,“副本集”甚至可以是单个成员,但这也是“oplog”实际存在的唯一方式。您可以很容易地找到实现可定制游标的示例,但关于如何通过websocket准确地传达任何“更改”,您可能会觉得过于宽泛,或者开始推荐已经这样做的软件。任何此类操作的基础都是在上,在任何MongoDB“副本集”上都存在。请注意,如果需要,“副本集”甚至可以是单个成员,但这也是“oplog”实际存在的唯一方式。您可以很容易地找到实现可裁剪光标的示例,但对于如何通过websocket准确地传达任何“更改”,您可能会觉得过于宽泛,或者开始推荐已经这样做的软件。