Python 3.x 如何在pymongo文档中监视更新的布尔值?
我正在尝试使用Python 3.x 如何在pymongo文档中监视更新的布尔值?,python-3.x,pymongo-3.x,Python 3.x,Pymongo 3.x,我正在尝试使用pymongo 3.6.1侦听集合的更新 集合将更新为一个如下所示的文档: {"End_Word":"bit","Success":true,"Score":1,"Term_Index":5} 其中,如果任何文档中的键Success更新为true,则调用def dosomething() 文档显示了此示例,作为第一步: with db.collection.watch() as stream: for change in stream: print(cha
pymongo 3.6.1
侦听集合的更新
集合将更新为一个如下所示的文档:
{"End_Word":"bit","Success":true,"Score":1,"Term_Index":5}
其中,如果任何文档中的键Success
更新为true
,则调用def dosomething()
文档显示了此示例,作为第一步:
with db.collection.watch() as stream:
for change in stream:
print(change)
在尝试复制此过程中,我遇到了一个操作失败:无法识别的管道阶段名称:“$changeStream”
错误。当研究其他具有类似功能的时,答案是连接驱动程序
版本。我认为情况并非如此:
代码:
更新:
我也看过这些地方
正确的方法是什么?下面的错误
OperationFailure: Unrecognized pipeline stage name: '$changeStream'
表示您的Mongodb服务器低于
3.6.0
,这就是它无法识别此命令的原因。即使您有最新的客户端,也不会更改服务器的行为方式问题可能出在此处的服务器版本,而不是pymongo驱动程序版本。您能检查一下服务器版本吗?所以MongoDB Atlas无法使用此操作?Mongo云服务上的服务器版本默认为3.4.14:(Atlas支持使用以下MongoDB版本创建M10+付费层群集:MongoDB 3.2 MongoDB 3.4 MongoDB 3.6 M0免费层和M2/M5共享层群集仅支持MongoDB 3.4。
OperationFailure: Unrecognized pipeline stage name: '$changeStream'