MongoDB无法创建“更改流”(java)

时间:2018-07-11 21:42:38

标签: database mongodb observer-pattern

我正在尝试从MongoDB获得实时更新。我使用了更改流API(来自here)。这是我的代码:

collection.watch().forEach(do_somthing);

但是它只会抛出此错误:

The $changeStream stage is only supported on replica sets

replica sets是什么意思?我该如何解决这个问题?

这是我第一次使用MongoDB ...

谢谢。

2 个答案:

答案 0 :(得分:1)

replica set是一组维护数据集的MongoDB进程。复制集通过创建称为oplog的特殊集合来设置复制数据,该集合记录对数据的所有修改。

更改流通过阅读操作日志来工作,因此它们要求将您的部署配置为副本集。

有关部署副本集的指南,请参见https://docs.mongodb.com/manual/tutorial/deploy-replica-set/

答案 1 :(得分:0)

对于简单的本地测试,您可以像这样运行mongodb

mongod --dbpath=d:\data --oplogSize 50 --replSet rs0