4.0正式版已经出了3个多月,相比测试阶段网上有价值的资料日渐丰富,版本升级以及使用事务需要了解的知识都可以在官网找到。在这里记录一下升级本地开发环境的过程,生产环境应当用数据备份再恢复的方案。
总文档:Release Notes for MongoDB 4.0
版本升级
单机开发环境,参考standalone升级文档
以下升级流程节选自上述文档
确保本地是3.6版本才能继续进行,以及兼容版本featureCompatibilityVersion
为3.6。在mongo shell中可以执行检查和设置。
1 | db.adminCommand( { getParameter: 1, featureCompatibilityVersion: 1 } ) |
升级前应关闭mongod服务和备份数据,之后按照官网所给出对应系统的安装方法执行安装。
例如Ubuntu18,可以按下面依次执行
1 | sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4 |
升级完成后在mongo shell中重新设置兼容性
1 | db.adminCommand( { setFeatureCompatibilityVersion: "4.0" } ) |
事务使用
replSet
目前必须在replSet中使用,简单的配置方法是/etc/mongod.conf
添加设置
1 | replication: |
然后重启mongod service mongod restart
,在mongo shell中执行初始化并查看结果
1 | rs.initiate() |
API
官方使用教程,内含demo:
https://docs.mongodb.com/manual/core/transactions/
Nodejs相关文档(npm包需更新):
node-mongodb-native:
http://mongodb.github.io/node-mongodb-native/3.1/api/ClientSession.html#startTransaction
手中项目使用事务的场景不多,暂时没有遇到坑,之后遇到再补充。