【发布时间】:2021-05-18 21:02:20
【问题描述】:
我正在学习将 Mongoose 与 NextJS 一起使用,但我一直遇到此错误。我已经查看了类似的问题,但没有弄清楚如何解决这个问题。我已经按照教程视频逐步实现 Mongoose,但在视频中没有出现这个问题。此外,我讨厌这样说不准确,但它只会“有时”发生。似乎每次我运行服务器的第一个 POST 请求总是通过,GET 请求也很好,但是当我尝试多个 POST 请求时它会发生。重新启动服务器后,它再次工作。这是我的代码:
import mongoose from "mongoose"
const connection = {}
async function dbConnect() {
if (connection.isConnected) {
retrun
}
const db = await mongoose.connect(process.env.MONGO_URI, {
useNewUrlParser: true,
useUnifiedTopology: true,
})
connection.isConnected = db.connections[0].readyState
console.log(connection.isConnected)
}
export default dbConnect
const mongoose = require("mongoose")
let NoteSchema = new mongoose.Schema({
email: {
type: String,
required: [true, "Please enter your email"]
}
})
module.exports = mongoose.model.Note || mongoose.model("Note", NoteSchema);
import dbConnect from "../../utils/dbConnect"
import Note from "../../models/Note"
dbConnect()
export default async (req, res) => {
const { method } = req
switch(method) {
case "GET":
try {
const notes = await Note.find({})
res.status(200).json({ success: true, data: notes })
} catch (error) {
res.status(400).json({ success: false })
}
break
case "POST":
try {
const note = await Note.create(req.body)
res.status(201).json({ success: true, data: note })
} catch (error) {
res.status(400).json({ success:false })
}
break
default:
res.status(400).json({ success:false })
break
}
}
感谢您的帮助。
【问题讨论】:
标签: reactjs mongodb mongoose next.js