python - 在 Python 异步中观看 MongoDB 更改流
问题描述
我如何设置一个(异步)监视更改 mongodb 流的 python 服务。
我可以在mongodb.com和pymongo 文档上找到以下两种方法,它们似乎并没有真正准备好生产:
方法 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 函数作为事件循环回调的解决方案。有人知道这个的实现吗?