You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MongoDB及Mongoose自动使用test数据库,如何修改数据库名称?

嘿,我来帮你搞定这个默认数据库的问题!其实修改MongoDB默认的'test'数据库很简单,分两种场景详细说明:

一、直接使用MongoDB驱动时修改默认数据库

当你连接MongoDB时,如果没指定数据库,它会自动用'test'。要改的话,只需要在连接字符串末尾加上你想要的数据库名称就行。
比如原本的连接地址是:

mongodb://localhost:27017

改成:

mongodb://localhost:27017/your_custom_database

这样连接后就会自动切换到your_custom_database数据库——如果这个数据库还不存在,MongoDB会在你首次写入数据时自动创建它。

二、使用Mongoose时修改默认数据库(对应你的代码场景)

看你给出的代码,问题出在process.env.DATABASE_URL这个环境变量里的连接字符串没有指定数据库名,所以Mongoose默认用了'test'。有两种方式修改:

  • 方式一:修改连接字符串
    把DATABASE_URL的值改成带数据库名的格式,比如:
mongodb://localhost:27017/your_custom_database

这样调用mongoose.connect()时,就会直接连接到你指定的数据库。

  • 方式二:通过连接选项指定
    如果不想改连接字符串,也可以在mongoose.connect()的配置选项里加dbName参数,明确指定数据库名:
mongoose.connect(process.env.DATABASE_URL, {
  useNewUrlParser: true,
  dbName: 'your_custom_database' // 这里设置你想要的数据库名
});
const MyModel = mongoose.model('mymodel', new Schema({ name: String }));

这样不管连接字符串里有没有指定,Mongoose都会优先使用你设置的dbName作为数据库名称,你的模型也会自动关联到这个数据库下的mymodel集合。


内容的提问来源于stack exchange,提问作者le huy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.07 11:52:38