Open In App

How to Upload Image to MongoDB using Only NextJS 13.4?

Last Updated : 03 Jun, 2024
Comments
Improve
Suggest changes
Like Article
Like
Report

Next.js is a React framework that enables functionality such as server-side rendering and generating static websites. MongoDB is a NoSQL database that stores data in flexible, JSON-like documents. Combining Next.js with MongoDB allows you to build full-stack applications where the backend interacts directly with the database and serves dynamic content to the frontend.

Uploading images to MongoDB using only Next.js 13.4 involves setting up a server-side route to handle the image upload and storing the image in MongoDB. In this article, we will learn how to upload an image to MongoDB using NextJS 13.

Approach to upload Image to MongoDB using only NextJS 13.4

  • The project connects to MongoDB using Mongoose and implements GridFS for file storage. It defines a schema for posts with name and imageUrl fields.
  • The API includes a POST endpoint to handle form data, upload images to GridFS, and save posts to MongoDB, as well as a GET endpoint to fetch all posts.
  • Another route is provided for fetching and deleting specific images from GridFS and MongoDB. On the frontend, react-hook-form is used for form submissions, with FileReader handling image previews.
  • The NewPost component includes a form for inputting post details and uploading images, displaying a preview upon file selection. The Home page renders the NewPost component.

Step to Create a NextJS App and Installing Module

Step 1: Installation

npx