MongoDB`watch` for`insert`s不能正常工作

问题描述

我已经观看了使用以下内容作为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 方法,这在我的异步代码中引发了错误。

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...