问题描述
我已经观看了使用以下内容作为watch
对象的com.mongodb.client.internal.MongoDatabaseImpl
函数的过滤器的集合:
(java.util.Arrays/asList
(into-array
[(com.mongodb.client.model.Aggregates/match
(com.mongodb.client.model.Filters/and
(java.util.Arrays/asList
(into-array Object
[(com.mongodb.client.model.Filters/in "operationType"
(java.util.Arrays/asList
(into-array ["insert" "update" "delete" "replace"])))]))))]))
如您所见,我已经观察了所有操作类型的集合,但观察者仅对update
操作进行了更改,而没有其他选择。
有人能指出我正确的方向吗?
此外,执行插入操作会导致观察程序线程挂起,并且还阻止进一步的监视,此时我必须重置REPL状态才能使更新监视工作。
仅供参考,我使用的org.mongodb/mongo-java-driver
版本是"3.12.7"
解决方法
事实证明这是一个不同的问题。当我可以观察插入时,我正在对 .getRemovedFields
事件调用 updateDescription
方法,这在我的异步代码中引发了错误。