首页 > 解决方案 > 无法将帖子路由到 Atlas mongoDB

问题描述

我已经创建了带有身份验证的用户模型、注册和登录路由。Atlas Mongodb 创建了新集合。我可以将注册发布到数据库并登录,所以它工作正常。

后来我添加了绳索模型和粗鲁路线,我可以访问获取路线但是当我尝试将新绳索发布到数据库时,会触发错误并且新集合不会添加到 atlas MongoDb。我不知道为什么。

绳索模型 Rope.js:

const mongoose = require('mongoose')

const ropeSchema = new mongoose.Schema({
    name:{
        type: String,
        required: true,

    },

    description:{
        type: String,
        required: true,

    }
   
})

module.exports = mongoose.model('Rope', ropeSchema)

路线文件ropes.js:

const router = require('express').Router();
const Rope = require('../model/Rope')

router.post('/', async (req, res) => {

    //create a new user
    const rope = new Rope({
        name: req.body.name,
        description: req.body.description
    });
    try {
        await rope.save();
        res.json(rope);
    } catch (err) {
        res.status(500 ).send(err);
    }
});

module.exports = router;

index.js 文件:

const mongoose = require('mongoose')
const authRoute = require('./routes/auth');
const ropesRoute = require('./routes/ropes')
const bodyparser = require('body-parser')

app.use(bodyparser.json());


dotenv.config()

mongoose.connect(process.env.DB_CONNECT, {
    useNewUrlParser: true,
    useUnifiedTopology: true
}, () => console.log('connected to db'))

app.use(express.json())


app.use('/api/user', authRoute);
app.use('/api/ropes', ropesRoute)


app.listen(3000, () => console.log('up and running'))

标签: node.jsmongodbmongoosemongodb-atlas

解决方案


问题是 Atlas Mongodb 不允许我的 IP 发布,但我已将其列入白名单。

所以我从任何地方都列入了白名单,现在我可以发帖了。


推荐阅读