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

Node.js项目用Mongoose连接MongoDB遇MongoParseError错误

解决Mongoose连接MongoDB时的MongoParseError错误

错误根源

你调用mongoose.connect()时,错误地将mongoose.set('strictQuery', true)作为第二个参数传入。mongoose.set()方法返回的是mongoose实例本身,而非连接配置对象,Mongoose会把整个实例解析成连接选项,从而抛出那些“不支持的选项”错误。

修正代码

正确做法是先单独执行mongoose.set('strictQuery', true),再调用connect方法:

const express = require('express');
const app = express();

const mongoose = require('mongoose');

const dotenv = require('dotenv');
dotenv.config();

app.use(express.json());

// 单独设置strictQuery配置
mongoose.set('strictQuery', true);

// 建立MongoDB连接
mongoose.connect(
  process.env.MONGODB_URI,
  (err) => {
    if (err) {
      console.log(`Error while connecting: ${err}`);
    } else {
      console.log('Connected to MongoDB');
    }
  }
);

app.use('/', (req, res) => {
  res.send('Welcome to Node js server');
});

app.listen(3001, () => {
  console.log('Node js server is up and running');
});

额外说明

  • Mongoose 6.x及以上版本中,useNewUrlParser、useUnifiedTopology等常用连接选项已默认启用,无需手动传入。
  • 如果需要添加其他连接配置,可在connect的第二个参数位置传入配置对象,例如:
    mongoose.connect(process.env.MONGODB_URI, {
      connectTimeoutMS: 30000
    }, (err) => { ... })
    

内容的提问来源于stack exchange,提问作者Zabeeh Ullah

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 07:45:25