Это следующее. js приложение с mon goose, подключенное к серверу атласа mongodb. Я получаю код состояния 500 только из вызова fetch, но я знаю, что в моем атласе mongodb есть хорошие данные. Я использую ту же модель для публикации сообщений. Есть идеи, где я ошибаюсь?
вот мой компонент подключения:
import mongoose from "mongoose";
const connection = {};
const dbConnect = async () => {
if (connection.isConnected) {
return;
}
const db = await mongoose.connect(process.env.mongodb.uri, {
useNewUrlParser: true,
useUnifiedTopology: true,
});
connection.isConnected = db.connections[0].readyState;
};
export default dbConnect;
моя модель:
const mongoose = require("mongoose");
const EmployeeSchema = new mongoose.Schema({
companyId: {
type: String,
required: [true],
maxlength: [200],
},
firstName: {
type: String,
required: [true, "A first name is required"],
maxlength: [50, "First name cannot be longer than 50 characters"],
},
lastName: {
type: String,
required: [true, "A last name is required"],
maxlength: [50, "Last name cannot be longer than 50 characters"],
},
});
module.exports =
mongoose.models.Employee || mongoose.model("Employee", EmployeeSchema);
Наконец, моя конечная точка:
import dbConnect from "../../../utils/dbConnect";
import Employee from "../../../models/Employee";
dbConnect();
export default async (req, res) => {
const { method } = req;
switch (method) {
case "GET":
try {
const employee = Employee.find({});
if (!employee) {
res.status(400).json({ success: false });
}
res.status(200).json({ success: true, data: employee });
} catch (error) {
res.status(500).json({ success: false, data: error });
}
break;
case "POST":
try {
const employee = Employee.create(req.body);
if (!employee) {
res.status(400).json({ success: false });
}
res.status(201).json({ success: true, data: employee });
} catch (error) {
res.status(500).json({ success: false, data: error });
}
break;
default:
res.status(400).json({ success: false });
break;
}
};