我正在尝试观察我的集合中的更改,但是我得到了以下错误:"MongoError:请求了大多数读操作,但存储引擎不支持它。“
答案似乎是:“要使用watch,您需要使用不属于mLab的副本集”。
但我有一个带副本集的付费套餐。我与mlab的连接如下所示。
mongoose.connect('mongodb://<dbuser>:<dbpassword>@ds327925-a0.mlab.com:27925,ds327925-a1.mlab.com:27925/<dbname>?replicaSet=rs-ds327925');
const taskCollection = db.collection('tasks');
const changeStream = taskCollection.watch();
changeStream.on('change', (change) => {
});发布于 2020-05-03 05:42:55
大多数读者关注的是requires WiredTiger storage engine。
显然,在mlab中WiredTiger的可用性是limited to "dedicated" plans。
除了升级您的计划之外,您还可以考虑迁移到MongoDB图集。
在MongoDB 4.2+ change streams do not require majority read concern中,但我也不认为4.2在mlab中可用。
https://stackoverflow.com/questions/61557932
复制相似问题