首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在NodeJS中导入passport时,为什么无法从MongoDB获取数据

在NodeJS中导入passport时,为什么无法从MongoDB获取数据
EN

Stack Overflow用户
提问于 2018-06-24 01:22:31
回答 1查看 84关注 0票数 1

我是NodeJS的初学者。为了实现登录功能,我需要设置Passport来处理Express身份验证。

这是我的index.js

代码语言:javascript
复制
const express = require ('express');
const bodyParser = require ('body-parser');
const cors = require ('cors');

const path = require ('path');
//const passport = require ('passport');

const {mongoose} = require ('./db.js');
var employeeController = require('./controllers/employeeController.js');
var reservationController = require('./controllers/reservationController.js');

var app = express();
app.use(bodyParser.json());
app.use(cors({origin: 'http://localhost:4200'}));

app.listen(3000, () => console.log('server started at port :3000'));

app.use('/employees',employeeController);
app.use('/reservations',reservationController);   

这里我注释掉了passport

代码语言:javascript
复制
This is my employee controller which retrieve data

const express = require ('express');
var router= express.Router();
var ObjectId = require('mongoose').Types.ObjectId;

var {Employee} = require('../models/employee');

// =>localhost:3000/employees
router.get('/',(req,res) => {
    Employee.find((err,docs) => {
        if(!err) {res.send(docs);}
        else {console.log('error in retrieving employees :' + JSON.stringify(err,undefined,2)); }

        });
    });

    router.get('/:id',(req,res)=>{
         if(!ObjectId.isValid(req.params.id))
             return res.status(400).send('No record with given id : ${req.params.id}');

            Employee.findById(req.params.id,(err,doc) =>{
                if(!err){res.send(doc);}
                else{console.log('error in retriving employee:'+JSON.stringify(err,undefined,2));}
            });
    });



    router.post('/',(req,res) =>{
        console.log(req.body);
        var emp = new Employee ({
            name: req.body.name,
            position: req.body.position,
            office: req.body.office,
            salary: req.body.salary,
        });
        emp.save((err,doc) => {
            if(!err) {res.send(doc);}
            else{console.log('error in saving employee'+ JSON.stringify(err,undefined,2));}
        });
    });

    router.put('/:id', (req, res)=>{
        if(!ObjectId.isValid(req.params.id))
            return res.status(400).send('No record with given id : ${req.params.id}');
            var emp = {
                name: req.body.name,
                position: req.body.position,
                office: req.body.office,
                salary: req.body.salary,
            };

            Employee.findByIdAndUpdate(req.params.id,{$set:emp},{new:true},(err,doc) =>{
                if(!err){res.send(doc);}
                else{console.log('error in updating employee:'+JSON.stringify(err,undefined,2));}
            });

        });

        router.delete('/:id',(req,res)=>{
            if(!ObjectId.isValid(req.params.id))
                return res.status(400).send('No record with given id : ${req.params.id}');

               Employee.findByIdAndRemove(req.params.id,(err,doc) =>{
                   if(!err){res.send(doc);}
                   else{console.log('error in deleting employee:'+JSON.stringify(err,undefined,2));}
               });
       });

module.exports = router;

我的应用程序可以完美地从mongodb中检索数据。但是,当我从index.js中的passport中删除注释时,数据检索不会发生。当我添加passport时,我找不到哪里出了问题。请帮帮我,因为我是NodeJS的新手。

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51003462

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档