如何在 pymongo 文档中观察更新的布尔值?
How to watch for an updated boolean value in a pymongo document?
我正在尝试使用 pymongo 3.6.1
.
收听集合的更新
集合更新为如下所示的文档:
{"End_Word":"bit","Success":true,"Score":1,"Term_Index":5}
如果键 Success
更新为 true
在任何文档中 将调用 def dosomething()
。
mongodb api 文档显示了这个示例,作为第一步:
with db.collection.watch() as stream:
for change in stream:
print(change)
在尝试复制这个时,我遇到了 OperationFailure: Unrecognized pipeline stage name: '$changeStream'
错误。在研究具有相似 issues on stack 的其他人时,答案是 connection driver
版本。我不认为这里是这种情况:
代码:
db_name = 'mapstore'
coll_name = 'oxygen'
MONGO_DB_DRIVER = pymongo atlas M2 instance driver
conn = pymongo.MongoClient(MONGO_DB_DRIVER)
db = conn[db_name]
print(db.collection_names())
更新:
这些地方我也看了
How to listen for changes to a MongoDB collection?
https://docs.mongodb.com/master/changeStreams/
什么是正确的方法?
下面的错误
OperationFailure: Unrecognized pipeline stage name: '$changeStream'
表示您的 Mongodb 服务器低于 3.6.0
,这就是它无法识别此命令的原因。即使您有最新的客户端,也不会改变服务器的行为方式
我正在尝试使用 pymongo 3.6.1
.
集合更新为如下所示的文档:
{"End_Word":"bit","Success":true,"Score":1,"Term_Index":5}
如果键 Success
更新为 true
在任何文档中 将调用 def dosomething()
。
mongodb api 文档显示了这个示例,作为第一步:
with db.collection.watch() as stream:
for change in stream:
print(change)
在尝试复制这个时,我遇到了 OperationFailure: Unrecognized pipeline stage name: '$changeStream'
错误。在研究具有相似 issues on stack 的其他人时,答案是 connection driver
版本。我不认为这里是这种情况:
代码:
db_name = 'mapstore'
coll_name = 'oxygen'
MONGO_DB_DRIVER = pymongo atlas M2 instance driver
conn = pymongo.MongoClient(MONGO_DB_DRIVER)
db = conn[db_name]
print(db.collection_names())
更新:
这些地方我也看了
How to listen for changes to a MongoDB collection? https://docs.mongodb.com/master/changeStreams/
什么是正确的方法?
下面的错误
OperationFailure: Unrecognized pipeline stage name: '$changeStream'
表示您的 Mongodb 服务器低于 3.6.0
,这就是它无法识别此命令的原因。即使您有最新的客户端,也不会改变服务器的行为方式