首页 > 解决方案 > 在 Python 异步中观看 MongoDB 更改流

问题描述

我如何设置一个(异步)监视更改 mongodb 流的 python 服务。

我可以在mongodb.compymongo 文档上找到以下两种方法,它们似乎并没有真正准备好生产:

方法 mongodb.com:

import os
import pymongo
from bson.json_util import dumps
client = pymongo.MongoClient('<YOUR-MONGO-CONNECT-STRING>')
change_stream = client.changestream.collection.watch()
for change in change_stream:
    print(dumps(change))

接近 pymongo 文档:

with db.collection.watch() as stream:
    while stream.alive:
        change = stream.try_next()
        print("Current resume token: %r" % (stream.resume_token,))
        if change is not None:
            print("Change document: %r" % (change,))
            continue
        time.sleep(10)

我想到了一个使用 watch 函数作为事件循环回调的解决方案。有人知道这个的实现吗?

标签: pythonmongodbpymongochangestream

解决方案


推荐阅读