'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 |
