MongoDB连接Next.js出现500错误,求助排查解决方法
Next.js连接MongoDB触发500错误
已安装MongoDB,尝试与Next.js建立连接时出现500错误。已尝试以下操作但问题未解决:
- 切换Mongoose 5、6版本
- 修改连接地址为
mongodb://127.0.0.1:27017/sinema或mongodb://localhost:27017
相关配置与代码信息
连接地址配置
MONGODB_URI= mongodb://localhost:27017/sinema
util/mongodb.js文件代码
import mongoose from 'mongoose'; const MONGODB_URI = process.env.MONGODB_URI; if (!MONGODB_URI) { throw new Error("Your mongodb uri is not defined!"); } let cached = global.mongoose; if (!cached) { cached = global.mongoose = { conn: null, promise: null }; } export async function connectToDatabase() { if (cached.conn) { return cached.conn; } if (!cached.promise) { const opts = { useNewUrlParser: true, useUnifiedTopology: true, bufferCommands:false, bufferMaxWntries: 0 , useFindAndModify: false, useCreateIndex: true }; cached.promise = mongoose.connect(MONGODB_URI, opts).then((client) => { return client }); } cached.conn = await cached.promise; return cached.conn; }
首页getServerSideProps代码
export async function getServerSideProps(context) { const client = await connectToDatabase(); const isConnected = await client.connections[0].readyState; return { props: { isConnected, }, }; }
错误表现
- 页面显示500服务器错误
- 控制台输出对应连接报错信息
内容的提问来源于stack exchange,提问作者amir rafiei
相关产品推荐
相关产品推荐

