如何在Mongoose中为primaryPreferred读取偏好启用对冲读取
解决方案:为primaryPreferred读取偏好启用对冲读取
要在Mongoose中为primaryPreferred读取偏好启用对冲读取,你需要将read()方法的参数从字符串改为包含mode和hedge配置的对象,而非仅传入读取偏好名称。
修改后的代码
let mydoc = await MyMongooseModel.findOne({'foo':'bar'}) .read({ mode: 'primaryPreferred', hedge: true }) .exec();
原理说明
- Mongoose的
read()方法支持接收配置对象,其中mode指定读取偏好类型,hedge字段设为true即可显式启用对冲读取。 - 该配置会直接传递给底层的MongoDB Node.js驱动4.14,此版本完全兼容MongoDB 6.0的对冲读取特性,匹配你的环境需求。
全局配置(可选)
如果希望所有查询默认使用带对冲读取的primaryPreferred,可在Mongoose连接时进行全局配置:
await mongoose.connect('mongodb://your-connection-uri', { readPreference: 'primaryPreferred', hedge: true });
内容的提问来源于stack exchange,提问作者AngularNerd
相关产品推荐
相关产品推荐

