I've been trying to implement a change stream that monitors a Mongo collection for new documents. While simple to setup for catching one change, I don't understand how to keep the process running indefinitely.
db = pymongo_util.get_collection("DataDB","XYZ_Collection")
stream = db.watch(full_document="updateLookup"):
document = next(stream) # it blocks here until a change happens. Prints the change, and program ends
print(document)
My goal is to create a 'listener' for the database. Listen for new documents, and process those new documents. I'm not sure if asyncio is the way to go, threading, or if its something basic I'm missing.
It looks like I'm not the only one to ask, but none seem to have an answer: