Я пытаюсь сохранить данные API остальных узлов в атласе mongodb. Но получаю ошибки вставки - PullRequest
0 голосов
/ 22 апреля 2020

Я пытаюсь зарегистрировать пользователя в атласе mongodb для регистрации и входа в систему, но получаю сообщение об ошибке 404.

вот полная ссылка на мой код

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

сервер. 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 file

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;

1 Ответ

0 голосов
/ 22 апреля 2020

Это из-за process.env.DB_CONNECT в вашем коде не определено. Измените строку 5 вашего src/backend/server.js файла, как показано ниже:

const dotenv = require('dotenv').config({ path: __dirname + '/.env' });, затем прокомментируйте dotenv.config()

и скопируйте .env в src/backend/.

Или измените строка 10 или файл, подобный следующему:

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

У вас есть const User = require('../models/User'); два раза в backend/routes/auth.js. Строка комментария 9. Она выдаст вам ошибку.

Я исправил ее и создал запрос на загрузку в github. Слей его.

...