![](/img/trans.png)
[英]PyMongo query not returning results although the same query returns results in mongoDB shell
[英]MongoDB query returning wrong results
我有兩台與同一MongoDB集合通信的計算機。 我將舉一個簡單的示例說明它們的用途,我將PyMongo用作CLI界面
電腦A:每1秒:
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_processed” True的文檔放入“ all_docs”光標中。 我假設這與MongoDB復制過程有關?
有沒有更好的方法來解決這個問題? 我可以以某種方式“強制”計算機B來獲取集合的“更新”版本嗎?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.