'User.create is not a function mongodb

    const express = require("express")
const app = express()
const cors = require("cors")
const mongoose = require("mongoose")
const User = "./models/user.model"
app.use(cors())
app.use(express.json())
mongoose.connect("mongodb://localhost:27017/full-mern-stack")

app.get("/",(req,res)=>{
    res.send("home page")
})
app.get("/api/register",(req,res)=>{
    res.send("Correct Route")
})
app.post("/api/register", async (req,res)=> {
   try{
    await User.create({
        name:req.body.name,
        email:req.body.email,
        password:req.body.password,
    })
    res.json({status:"ok"})
   }catch(err){
       console.log(err)
       res.json({status:"error",error:"Duplicate email"})

   }

})
app.post("/api/login", async (req,res)=> {
    
    const user =  await User.findOne({
         email:req.body.email,
         password:req.body.password,
     })
     if (user) {
         return res.json({status:"ok",user:true})
     } else{
         return res.json({status:"error",user:false})
     }
     res.json({status:"ok"})
  
 
 })




app.listen(3002,()=>{
    console.log("listening")
})

im getting this error :TypeError: User.create is not a function at C:\Users\joshm\Downloads\New folder (12)\myapp\Server\Server.js:18:16 at Layer.handle [as handle_request] (C:\Users\joshm\Downloads\New folder (12)\myapp\node_modules\express\lib\router\layer.js:95:5) at next (C:\Users\joshm\Downloads\New folder (12)\myapp\node_modules\express\lib\router\route.js:137:13) at Route.dispatch (C:\Users\joshm\Downloads\New folder (12)\myapp\node_modules\express\lib\router\route.js:112:3) at Layer.handle [as handle_request] (C:\Users\joshm\Downloads\New folder (12)\myapp\node_modules\express\lib\router\layer.js:95:5) at C:\Users\joshm\Downloads\New folder (12)\myapp\node_modules\express\lib\router\index.js:281:22 at Function.process_params (C:\Users\joshm\Downloads\New folder (12)\myapp\node_modules\express\lib\router\index.js:341:12) at next (C:\Users\joshm\Downloads\New folder (12)\myapp\node_modules\express\lib\router\index.js:275:10) at C:\Users\joshm\Downloads\New folder (12)\myapp\node_modules\body-parser\lib\read.js:130:5 at invokeCallback (C:\Users\joshm\Downloads\New folder (12)\myapp\node_modules\raw-body\index.js:224:16)

model :

const mongoose = require("mongoose")

const User = new mongoose.Schema({
    name:{type:String,required:true},
    email:{type:String,required:true,unique:true},
    name:{type:String,required:true},
    quote:{type:String},
},
{collection:"user-data"}

)

const model = mongoose.model("UserData",User)

module.exports = model


Solution 1:[1]

You have required models in wrong way,change const User = "./models/user.model" to const User = require("./models/model")

what you exported in models file that you have to require.

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 Bhavana guptha