背景
我想在本地 Windows 上体验下 Strapi (一个 headless CMS )。
本地原有的 MongoDB 版本是 v3.2.5 , 但 Strapi 对 MongoDB 版本的最低要求是 v3.6.
问题
启动 Strapi 工程,出现错误:
Mongodb aggregate arguments to $lookup must be strings
就是 MongoDB 版本低,不兼容高级语法导致的。
那么,问题来了,我直接下载安装了 MongoDB v4.4.6 ,来读取本地已有的 v3.2 下的数据文件,发现无法启动,疑似不兼容了。怎么升级呢?
升级 MongoDB
按 MongoDB 的官方文档,我这种情况想要升级,得这么办:
v3.2 -> v3.4 -> 3.6
于是乎我依次下载对应的 exe ,安装,启动。
然后对应的执行了:
db.adminCommand( { setFeatureCompatibilityVersion: "3.4" } )
db.adminCommand( { setFeatureCompatibilityVersion: "3.6" } )
就这样一路升级到了 v3.6,暂时不安装 v4.x 了。
参考文档
- Strapi 对数据库的版本要求:https://strapi.io/documentation/developer-docs/latest/setup-deployment-guides/installation/cli.html#step-1-make-sure-requirements-are-met
- MongoDB migration v3.2 to v3.4: https://docs.mongodb.com/manual/release-notes/3.4-upgrade-standalone/
- MongoDB migration v3.4 to v3.6: https://docs.mongodb.com/manual/release-notes/3.6-upgrade-standalone/