【发布时间】:2020-10-19 19:46:27
【问题描述】:
我正在尝试连接到我的 mongoDB 并在其中保存一个新用户。
当我运行 express 服务器时,db 已连接,但 post 请求似乎没有发生。
有人可以检查我的代码并帮助我找到问题吗?
**当我在 postmam 上发送请求时,邮递员最终得到:'could not get response, error:socket hang up'。
我在下面附上我的代码:
我的服务器:
const express = require('express')
const app = express();
const mongoose = require('mongoose')
const dotenv = require('dotenv')
const authRoute = require('./routes/aouth')
dotenv.config();
//conect to db
mongoose.connect(mongodb://localhost/users, { useUnifiedTopology: true, useNewUrlParser: true }, () => console.log("connected!"))
//middleware
app.use(express.json());
//route middleware
app.use('/api/user', authRoute);
app.listen(3000, () => console.log("listening on port 3000!"))
我的 User.js:
const mongoose = require('mongoose')
const userSchema = new mongoose.Schema({
password: {
type: String,
required: true
},
date: {
type: Date,
default: Date.now
}
})
module.exports = mongoose.model('User', userSchema);
我的路由器(routes/aouth.js):
router.post('/reg', async(req, res) => {
const user = new User({
password: req.body.password
})
try {
const savedUser = await user.save()
res.status(201).json(savedUser)
} catch (err) {
res.status(400).json({ message: err.message })
}
})
对邮递员我的要求是:
POST http://localhost:3000/api/user/reg { “密码”:“1234” }
希望你们能帮助我!! 谢谢!!
【问题讨论】:
-
如何检查数据库连接?
-
@mamunmohamed 在 server.js 中,我有一行“mongoose.connect”,在控制台上,每次服务器启动时我都会看到“已连接”
-
在
password之后添加res.end()
标签: node.js mongodb express mongoose postman