我正在尝试从MongoDB获得实时更新。我使用了更改流API(来自here)。这是我的代码:
collection.watch().forEach(do_somthing);
但是它只会抛出此错误:
The $changeStream stage is only supported on replica sets
replica sets
是什么意思?我该如何解决这个问题?
这是我第一次使用MongoDB ...
谢谢。
答案 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