DEV Community

Bipon Biswas
Bipon Biswas

Posted on

3 2

User create using NodeJS

Objective: In this article, you will know mongoose model, how to create user using node, router.

Pre-requisite Prior to completing this article, you should have already installed all pre-requisite tooling including: Visual Studio Code, Node Package Manager (NPM), Node, Postman, Mongo Compass.

Create a Model (ProfileModel.js)

const mongoose = require('mongoose')

const DataSchema = mongoose.Schema({
    FirstName : {type: String},
    LastName : {type: String},
    EmailAddress : {type: String},
    MobileNumber : {type: String},
    City : {type: String},
    UserName : {type: String},
    Password : {type: String}
});

const ProfileModel = mongoose.model('Profile', DataSchema)
module.exports = ProfileModel;

Enter fullscreen mode Exit fullscreen mode

Create a Controller (ProfileController.js)

At first import ProfileModel. Declare a variable reqBody to store body data. Then create user using ProfileModel model

const ProfileModel = require("../models/ProfileModel");


exports.CreateProfile = (req, res) => {

    let reqBody = req.body;
    ProfileModel.create(reqBody, (err, data) => {
        if(err){
            res.status(400).json({status: "Failed to user create", data: err})
        }else{
            res.status(200).json({status: "Successfully user created", data: data})
        }
    })
}
Enter fullscreen mode Exit fullscreen mode

Default configuration (app.js)

// Basic import
const express = require('express');
const router = require('./src/routes/api')
const app = new express();
const bodyParser = require('body-parser')

// Database lib import
const mongoose = require('mongoose')

// Body parser implement
app.use(bodyParser.json())

// MongoDB database connection
let uri = 'mongodb://127.0.0.1:27017/PracticeDB'
let options = {user: '', pass: ''}
mongoose.connect(uri, options, (err) => {
    if(err){
        console.log(err)
    }else{
        console.log('Database Connection Success')
    }
})

// Routing Implement
app.use('/api/v1', router)

// Undefined Route Implement
app.use("*", (req, res) => {
    res.status(404).json({status: "Failed", data: "Not Found"})
})

module.exports = app;
Enter fullscreen mode Exit fullscreen mode

Routes configuration (api.js)

const express = require('express');
const ProfileController = require('../controller/ProfileController')
const router = express.Router();

router.post('/CreateProfile', ProfileController.CreateProfile)

module.exports = router;
Enter fullscreen mode Exit fullscreen mode

Index file (index.js)

const app = require('./app')

app.listen(5000, function(){
    console.log('Server run at @5000 port')
})
Enter fullscreen mode Exit fullscreen mode

Now open the Postman and configure few thing like
Image description

Then create a user giving basic information and click Send Button
Image description

Let's see into Database
Image description

Thanks for reading. Happy journey.

Reference

create() Function in Mongoose

Postgres on Neon - Get the Free Plan

No credit card required. The database you love, on a serverless platform designed to help you build faster.

Get Postgres on Neon

Top comments (0)

nextjs tutorial video

Youtube Tutorial Series 📺

So you built a Next.js app, but you need a clear view of the entire operation flow to be able to identify performance bottlenecks before you launch. But how do you get started? Get the essentials on tracing for Next.js from @nikolovlazar in this video series 👀

Watch the Youtube series