我在使用Spring Data和MongoDB的应用程序中使用了@EnableMongoAuditing,以防止不同用户对Document进行并发修改。
任何用户都无法编辑文档的一部分,但可以使用MongoTemplate由系统本身(通过JMS消息)进行编辑。
但是,当系统更新文档的那一部分时,它也会增加文档的版本号,从而导致乐观的锁定异常。
当然我不希望这种情况发生。 JMS消息对文档的更改只是文档中某个子项发生变化时的一个字符串,并且从不与其中一个用户能够执行的更改相关。
如何防止这种情况发生?例如通过(非常暂时)禁用版本增加和验证。