【问题标题】:I am trying to store my node rest api data to mongodb atlas. But getting insertion errors我正在尝试将我的节点休息 api 数据存储到 mongodb 地图集。但是遇到插入错误
【发布时间】:2020-04-22 05:06:52
【问题描述】:

我正在尝试将用户注册到 mongodb atlas 以进行注册和登录,但我收到错误 404。

这里是我的代码的完整链接

https://github.com/badrinathareddyr/falcon.git

server.js 文件

const express = require('express');
const app = express();
const bodyParser = require('body-parser');
const mongoose = require('mongoose');
const dotenv = require('dotenv');

const authRoute = require('../backend/routes/auth')

//connect to database
dotenv.config({ path: __dirname + '/.env' });
mongoose.connect(
    process.env[DB_CONNECT], { useNewUrlParser: true }, () =>
    console.log('connected to db!')
);

//Middleware
app.use(express.json());

//middlewareroutes
app.use('/register', authRoute);

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

auth.js 文件

var express = require('express');
const router = express.Router();
const User = require('../models/User');
const bcrypt = require('bcryptjs');

router.post('/register', function (req, res) {
    if (!req.body.email || !req.body.password) {
        res.json({ success: false, msg: 'Please pass email and password.' });
    } else {
        var newUser = new User({
            email: req.body.email,
            password: req.body.password
        });
        // save the user
        newUser.save(function (err) {
            if (err) {
                return res.json({ success: false, msg: 'Email already exists.' });
            }
            res.json({ success: true, msg: 'Successful created new user.' });
        });
    }
});

module.exports = router;

【问题讨论】:

  • 请在问题中提供相关代码,以便在您更改存储库后,此问题可以帮助未来的访问者。
  • 请添加您到目前为止尝试过的内容以及您无法弄清楚的内容?代码 sn-p 或您调试此问题所遵循的过程。

标签: mongodb rest mern reactjs


【解决方案1】:

这是因为您的代码中的process.env.DB_CONNECT 未定义。更改 src/backend/server.js 文件的第 5 行,如下所示:

const dotenv = require('dotenv').config({ path: __dirname + '/.env' }); 然后评论dotenv.config()

并将.env 复制到src/backend/

或更改第 10 行或像这样的文件:

dotenv.config({ path: __dirname + '/.env' });

您在backend/routes/auth.js 中有两次const User = require('../models/User');。评论第 9 行。它会给你错误。

我修复了它并在 github 中创建了拉取请求。合并它。

【讨论】:

    猜你喜欢
    • 2019-10-04
    • 2022-01-15
    • 1970-01-01
    • 2019-03-14
    • 1970-01-01
    • 2014-04-13
    • 1970-01-01
    • 2022-06-11
    • 1970-01-01
    相关资源
    最近更新 更多