首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >React mongodb错误-无法连接到mongodb表

React mongodb错误-无法连接到mongodb表
EN

Stack Overflow用户
提问于 2021-06-09 18:14:23
回答 1查看 35关注 0票数 0

TypeError: signupTemplateCopy不是一个构造器,我的mongo数据库正在成功地与react应用程序连接。但是当我尝试从react中将数据插入到表中时,它显示了错误。我创建了模式signupTemplate,并通过const signupTemplateCopy = require('../models/models')将其导入到路由中,然后创建了signupeduser来保存来自user的数据。我认为问题出在const signedupUser = new signupTemplateCopy({ Name: request.body.Name, Email:request.body.email, Password: request.body.Password})的routes.js中。该程序将signupTemplateCopy作为构造函数。

server.js

代码语言:javascript
复制
const express = require('express')
const app = express()
const mongoose = require('mongoose')
const dotenv = require('dotenv')
const routesURL = require('./routes/routes')
const cors = require('cors')  
dotenv.config()
mongoose.connect(process.env.DATABASE_ACCESS, () => console.log("Database Connected"))
app.use(express.json())
app.use(cors())
app.use('/app', routesURL)
app.listen(4000, () => console.log('server is up and running on 4000'))

models.js

代码语言:javascript
复制
const mongoose = require('mongoose')

const signupTemplate = new mongoose.Schema({
    Name: {
        type:String,
        required:true

    },
    Email: {
        type: String,
        required: true
    },
    Password : {
        type: String,
        required: true
    }
})

module.export=mongoose.model('mytable',signupTemplate)

routes.js

代码语言:javascript
复制
const express = require('express')
const router = express.Router()
const signupTemplateCopy = require('../models/models')

router.post('/signup', (request, response) => {
    const signedupUser = new signupTemplateCopy({
        Name: request.body.Name,
        Email:request.body.email,
        Password: request.body.Password
    })
    signedupUser.save()
    .then(data => {
        response.json(data)
    })
    .catch(error =>{
        response.json(error)
    })
})
module.exports = router

test.http (通过发送请求进行测试)

代码语言:javascript
复制
POST http://localhost:4000/app/signup
Content-Type: application/json

{
    "Name": "joey",
    "Email": "abx@example.com",
    "Password": "xyz@123"
}

响应

代码语言:javascript
复制
HTTP/1.1 500 Internal Server Error
X-Powered-By: Express
Access-Control-Allow-Origin: *
Content-Security-Policy: default-src 'none'
X-Content-Type-Options: nosniff
Content-Type: text/html; charset=utf-8
Content-Length: 2037
Date: Wed, 09 Jun 2021 09:52:13 GMT
Connection: close

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Error</title>
</head>
<body>
<pre>TypeError: signupTemplateCopy is not a constructor<br> &nbsp; &nbsp;at D:\E-commerce React\shopping\server\routes\routes.js:6:26<br> &nbsp; &nbsp;at Layer.handle [as handle_request] (D:\E-commerce React\shopping\server\node_modules\express\lib\router\layer.js:95:5)<br> &nbsp; &nbsp;at next (D:\E-commerce React\shopping\server\node_modules\express\lib\router\route.js:137:13)<br> &nbsp; &nbsp;at Route.dispatch (D:\E-commerce React\shopping\server\node_modules\express\lib\router\route.js:112:3)<br> &nbsp; &nbsp;at Layer.handle [as handle_request] (D:\E-commerce React\shopping\server\node_modules\express\lib\router\layer.js:95:5)<br> &nbsp; &nbsp;at D:\E-commerce React\shopping\server\node_modules\express\lib\router\index.js:281:22<br> &nbsp; &nbsp;at Function.process_params (D:\E-commerce React\shopping\server\node_modules\express\lib\router\index.js:335:12)<br> &nbsp; &nbsp;at next (D:\E-commerce React\shopping\server\node_modules\express\lib\router\index.js:275:10)<br> &nbsp; &nbsp;at Function.handle (D:\E-commerce React\shopping\server\node_modules\express\lib\router\index.js:174:3)<br> &nbsp; &nbsp;at router (D:\E-commerce React\shopping\server\node_modules\express\lib\router\index.js:47:12)<br> &nbsp; &nbsp;at Layer.handle [as handle_request] (D:\E-commerce React\shopping\server\node_modules\express\lib\router\layer.js:95:5)<br> &nbsp; &nbsp;at trim_prefix (D:\E-commerce React\shopping\server\node_modules\express\lib\router\index.js:317:13)<br> &nbsp; &nbsp;at D:\E-commerce React\shopping\server\node_modules\express\lib\router\index.js:284:7<br> &nbsp; &nbsp;at Function.process_params (D:\E-commerce React\shopping\server\node_modules\express\lib\router\index.js:335:12)<br> &nbsp; &nbsp;at next (D:\E-commerce React\shopping\server\node_modules\express\lib\router\index.js:275:10)<br> &nbsp; &nbsp;at cors (D:\E-commerce React\shopping\server\node_modules\cors\lib\index.js:188:7)</pre>
    </body>
    </html>
EN

回答 1

Stack Overflow用户

发布于 2021-06-09 19:04:07

我花了点时间才弄明白。在您的mongoose模型中,您的module.export拼写不正确。

应为exports

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67902083

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档