Ubuntu下用--quickstart搭建的Strapi未装MongoDB却运行,默认数据库是啥?
为啥没装MongoDB,Strapi还能正常跑?
哈哈这个问题其实挺典型的,我来给你拆解清楚:
核心原因:Strapi 3.x 默认用的是 SQLite 数据库
你不用安装任何额外的数据库服务就能跑起来,是因为Strapi 3.0.0-alpha 版本的默认数据库是 SQLite——这是一款轻量级的文件型数据库,它不需要单独启动后台服务,直接以文件形式存储在你的Strapi项目目录里,完全不需要你手动安装或配置服务,所以哪怕你没装MongoDB,它也能正常运行。
为啥配置里看起来有MongoDB的内容?
你看到的配置里有MongoDB相关内容,是因为Strapi的默认配置文件(比如config/database.js)里会预先包含多种数据库适配器的示例配置(包括MongoDB、PostgreSQL、MySQL等),方便用户后续切换数据库。但这些只是模板,实际运行时Strapi会默认使用SQLite的配置项,除非你手动修改配置把默认连接改成MongoDB。
怎么验证当前用的是SQLite?
你可以做这两步确认:
- 打开项目根目录下的
config/database.js,看defaultConnection的值是default,然后看connections里的default配置,适配器是strapi-adapter-sqlite,数据库文件路径一般指向.tmp/data.db或者data/data.db; - 直接去项目目录里找这个
.db文件,它就是SQLite的数据库文件,你可以用SQLite的客户端工具打开查看里面的数据。
什么时候需要装MongoDB?
只有当你想把数据库切换成MongoDB的时候,才需要在服务器上安装MongoDB服务,然后修改config/database.js里的配置,把适配器改成strapi-adapter-mongoose,并填写MongoDB的连接信息。
内容的提问来源于stack exchange,提问作者mogya
相关产品推荐
相关产品推荐

