我有两台计算机与同一个MongoDB集合通信。我将给出一个简单的例子来说明它们的功能,我使用PyMongo作为CLI接口
计算机A: 每1s:
from bson import ObjectId
from pymongo import MongoClient
# Create payload
client = MongoClient(mongo_html)
collection_post = client["MyCollection"].posts
pay_load = {
"number": 10,
"is_processed": False
}
collection_post.insert_one(pay_load)
计算机B: 每10秒:
from bson import ObjectId
from pymongo import MongoClient
# Create payload
client = MongoClient(mongo_html)
collection_post = client["MyCollection"].posts
all_docs = collection_post.find({"is_processed": False})
for doc in all_docs:
do_work(doc)
collection_post.update({"_id": ObjectID(doc["_id"])}, {"is_processed", True})
但我面临的问题是,在计算机B中,我有时会将“is\u processed”为真的文档放入“all\u docs”光标。我假设这与MongoDB复制过程有关?你知道吗
有没有更好的方法来处理这个问题?我能不能“强迫”电脑B得到收藏的“更新”版本?你知道吗
您应该知道MongoDB中的事实:
您可以阅读David Glasser's post了解更多信息。你知道吗
相关问题 更多 >
编程相关推荐