mongodb - mongodb更改流,操作更新,如何解决获取先前值问题
问题描述
我知道mongodb没有实现这个功能。我在想什么是实现这一目标的最佳方法。
使用缓存服务?该方法可行,但有一个问题,当您观看的查询太大时,就像整个集合一样,您将永远不会拥有第一个之前的值,因为您只有在第一次更改出现在手表上时才开始缓存。
- 服务开始观看。
- 收到对象 id 1,没有缓存之前的更改,缓存值。
- 接收到的对象id 1,缓存之前的变化,可以做比较,缓存值
我在这里看到另一个问题,如果我有 2 个观察者可能会接收有关同一对象的信息,这将导致同步问题,因为一个进程可能会更新缓存,而第二个进程已经接收到错误的数据,嗯。我的意思是第二个进程可能处于缓存的先前值已经与 mongodb 更改流中的值相同的情况。
我也在考虑 mongodb 副本,但不确定是否可以用它解决问题。
最好的,伊戈尔
解决方案
推荐阅读
- java - CMD 上不显示 JAVA 版本
- mininet - 如何在 mininet 上添加控制器
- spring-boot - Spring @Transactional annonation 不起作用
- log4j - 具有属性的 log4j 1.2.17 中的最大日志文件大小
- python - 在 python 中模拟编码会话
- bash - 在 target-directory(ies)/ 中的所有文件上搜索 input.file 中的所有字符串并打印 (Bash)
- python - 如何在列表中附加元素并将其写入 JSON?
- windows - Mongo shell“此应用程序无法在您的电脑上运行,要为您的电脑寻找版本,请与软件发行商联系。”
- symfony - 将 Sylius 从 1.1.6 升级到 1.2.9 后 Composer 内存不足
- solr - 如何让 Solr 控制台输出用于执行操作的命令?