【发布时间】:2020-12-19 02:06:57
【问题描述】:
我是编程新手。我已连接 MongoDB Atlas,需要使用 POSTMAN 保存一个对象。
但我得到这个消息套接字挂断。我尝试了使用代理选项的所有可能。
请注意,我的新数据库中没有保存任何内容。除了用户名和密码,我按原样保留 dbname。虽然它会在连接时创建一个名为“dbname”的数据库。也不知道在这里做什么。
DB_CONNECT=mongodb+srv://username:@cluster0.uxjdg.mongodb.net/?retryWrites=true&w=majority
这里是详细信息
索引.js
const express=require('express');
const app =express();
const mongoose=require('mongoose');
const dotenv=require('dotenv');
const bodyParser=require('body-parser');
dotenv.config();
//Connect to DB
mongoose.connect('process.env.DB_CONNECT',
//{ useUnifiedTopology: true },
{ useNewUrlParser: true },
()=>console.log('connect to db'));
//Middleware
app.use(express.json());
//Import Routes
const authRoute=require('./routes/auth');
//Route Middlewares
app.use('/api/user', authRoute);
app.listen(3000, ()=>console.log('Server up and Running'));
路由器
const router=require('express').Router();
const User=require('../model/User');
router.post('/register', async(req, res)=>{
const user =new User({
name:req.body.name,
email:req.body.email,
password:req.body.password
});
try{
const savedUser=await user.save();
res.send(savedUser);
}catch(err){
res.status(400).send(err);
}
});
module.exports=router;
架构
const mongoose=require('mongoose');
const userSchema =new mongoose.Schema({
name:{
type:String,
required:true,
min:6,
},
email:{
type:String,
required:true,
max:255,
min:6
},
password:{
type:String,
required:true,
max:1024,
min:6
},
date:{
type:Date,
default:Date.now
}
});
module.exports=mongoose.model('User', userSchema);
【问题讨论】:
-
我们能看到错误的全文吗?
-
Joe,这是唯一挂断的消息套接字。这是我将标题的内容长度保持打开的时候,否则它会给出 400 语法错误。我检查了代码并粘贴在这里,对我来说似乎没问题
-
如果回调不是异步的,它的行为是否相同?
-
Joe 没有异步。这就是我得到的:
-
错误:CORS 请求被拒绝:localhost:3000/api/user/register
标签: node.js reactjs mongodb react-native