我正在设置一个微服务,该微服务需要对Amazon DocumentDB的更改做出反应。在使用MongoDB时,我将为此使用响应式变更流。如果使用DocumentDB进行此操作,则在注册更改侦听器时会收到异常消息,说明当前不支持更改流。
2019-02-12T11:46:15.513+0100 E QUERY [js] Error: command failed: {
"ok" : 0,
"errmsg" : "The $changeStream stage is currently not supported",
"code" : 303
} : aggregate failed :
_getErrorWithCode@src/mongo/shell/utils.js:25:13
doassert@src/mongo/shell/assert.js:18:14
_assertCommandWorked@src/mongo/shell/assert.js:534:17
assert.commandWorked@src/mongo/shell/assert.js:618:16
DB.prototype._runAggregate@src/mongo/shell/db.js:260:9
DBCollection.prototype.aggregate@src/mongo/shell/collection.js:1062:12
DBCollection.prototype.watch@src/mongo/shell/collection.js:1589:12
@(shell):1:1
对于“旧式”解决方案(op-log-tailing),我没有发现如何实现的任何提示。
在Amazon DocumentDB上注册到数据库更改的推荐设置是什么?
答案 0 :(得分:3)
根据该论坛主题https://forums.meteor.com/t/amazon-announces-documentdb-with-mongodb-compatibility/47417/10,听起来好像没有oplog支持。
这听起来也像documentdb是基于aws aurora引擎的,据我所知,对预订aurora的更改没有任何支持,因此我怀疑他们是否会将其添加到mongo中。 / p>
答案 1 :(得分:2)
Amazon DocumentDB现在支持更改流:https://aws.amazon.com/about-aws/whats-new/2019/10/amazon-documentdb-with-mongodb-compatibility-adds-support-for-change-streams/
答案 2 :(得分:0)
我会用dynamodb。它为此而生