๐Ÿงช MongoDB POST API โ€” Mongoose + Next.js

This POST API lets you insert new users into your MongoDB database. Below are two methods:

๐Ÿ“Œ Example 1 โ€” Hardcoded User Data

  • Connects to MongoDB Atlas
  • Saves fixed user data: Ali / Tester / PyTest
  • Returns the inserted user object
import mongoose from "mongoose";
import MongoDBURl from "../../../MongoDB/mongodb-connect";
import userModel from "../../../MongoDB/userModel";
import { NextResponse } from "next/server";

export const POST = async () => {
  await mongoose.connect(MongoDBURl);

  const newUser = new userModel({
    name: "Ali",
    role: "Tester",
    Skills: "PyTest",
  });

  const user = await newUser.save();
  return NextResponse.json({ result: user });
};

๐Ÿ“Œ Example 2 โ€” Dynamic User Data from Request

  • Accepts dynamic payload using await req.json()
  • Can be used with frontend forms or API clients
  • Returns saved user data on success
import mongoose from "mongoose";
import MongoDBURl from "../../../MongoDB/mongodb-connect";
import userModel from "../../../MongoDB/userModel";
import { NextResponse } from "next/server";

export const POST = async (req) => {
  await mongoose.connect(MongoDBURl);

  const payload = await req.json();
  const newUser = new userModel(payload);

  const user = await newUser.save();
  return NextResponse.json({ result: user }, { status: 200 });
};
Note: Prefer the dynamic version in production. It gives flexibility to receive data from user input (like forms, fetch calls, etc).