killrer
killrer

Reputation: 21

koa js backend is showing error - DB not connected -how to fix this issue

I am also trying different network connections it returns the same error. Please help I am stuck last 15 days in this error. Oh! last one thing my laptop IP is dynamically changing so what can I do know.

this is my mongoose connecter

    const mongoose = require('mongoose')


const connection = () =>{
    const str = 'mongodb://localhost:27017/524'
    

    mongoose.connect(str , () =>{
        console.log("Connection is successfull")
    } )
}

module.exports = {connection }

this is server js

    const koa = require('koa')
const cors = require('koa-cors')
const bodyParser = require('koa-parser')
const json = require('koa-json')
const {connection} = require('./dal')


const userRouter = require('./Router/userRouter')


const app = new koa()

const PORT = 8000

app.use(cors())
app.use(bodyParser())
app.use(json())

app.use(userRouter.routes()).use(userRouter.allowedMethods())

app.listen(PORT, ()=>{
    console.log(`Server is running on port ${PORT}`)
    connection();

})

this is modle class

    const mongoose = require('mongoose')

const Schema = mongoose.Schema

const UserSchema = new Schema ({
    name:{
        type:String,
        required:true

    },
    email:{
        type:String,
        required:true,
        unique:true
    },
    password:{
        type:String,
        required:true
    },
    role:{
        type: Number,
        default: 0
    }
},{
    timestamps:true
})

const User = mongoose.model('User', UserSchema)

module.exports = User

this is login route

 const KoaRouter = require('koa-router')
    const { register, login ,getAll } = require('../API/userAPI')
    
    const userRouter = new KoaRouter({prefix: '/user'})
    
    userRouter.post('/register', register)
    userRouter.post('/login', login)
    userRouter.get ('/get' , getAll)
    
    
    module.exports = userRouter;

this is my contraller  

       const UserModel = require('../models/user.model')
        const bcrypt = require('bcrypt')
        

    
    
    const register = async (ctx) => {
        try{
            const user = ctx.request.body
            const {name, email, password, role} = user
    
            if (!name || !email || !password){
                return (ctx.body = { message: "fill" });
            }
            else{
                const exist = await UserModel.findOne({email})
                if(exist){
                    return (ctx.body = { message: "User already exists" });
                }else{
    
                    const salt = await bcrypt.genSalt();
                    const hashpassword = await bcrypt.hash(password, salt)
    
                    const newUser = new UserModel({
                        name,
                        email,
                        password : hashpassword,
                        role
                    })
                    await newUser.save()
                    return (ctx.body = { message: "User Registered" });
                }
            }
        }catch(err){
            console.log(err.message)
            return (ctx.body = { message: err.message });
        }
        
    
    }
    
    const login = async (ctx) => {
        try{
            const {email, password} = ctx.request.body
            const user = await UserModel.findOne({email})
    
            if (!user){
                return ( ctx.body = {message:"User does not exist"})
            }
            else {
                const isMatch = await bcrypt.compare(password, user.password)
                if (!isMatch) {
                   return (ctx.body = { message:"Wrong Password"})
                }else{
                    return (ctx.body = { user})
                }
            }
    
    
        }catch(err){
            return (ctx.body= {err})
    
        }
    }
    
    const getAll = async (ctx) => {
            try{
                const users = await UserModel.find()
                return (ctx.body = users)
    
        }catch(err){
            return (ctx.body= {err})
        }
    
    }
    
    
    
    
    module.exports = {register, login ,getAll}

.

how to fix this.any ideas.Can any body guide me with this scenario.

Upvotes: 1

Views: 91

Answers (0)

Related Questions