【问题标题】:Node/Express session value insert节点/Express 会话值插入
【发布时间】:2017-03-27 23:45:40
【问题描述】:

我目前正在使用 Node/Express/MongoDB 开展一个项目。我正在使用 Mongoose 创建我的模式并与 DB 接口。我正在使用“express-sessions”模块并设置了会话值。具体来说,“req.session.user”等于登录时的用户名。

我的问题是,如何将会话值插入 mongodb?我的模型定义正确。

doc_type.model.js

var mongoose = require('mongoose');
var Schema = mongoose.Schema;

var TypesSchema = new Schema({
  type_id: {
    type: String,
    uppercase: true,
    required: true
  },
  type_description: {
    type: String,
    required: true
  },
  created_by: {
    type: String,
    required: false
  },
  creation_date: {
    type: Date,
    default: Date.now
  }
});

module.exports = mongoose.model('document_types', TypesSchema);

定义了路由的admin.js。

adminRouter.route('/doc_types')

.get((req, res) => {
  Type.find({}, (err, types) => {
    if (err) {
      console.error(err)
      res.json(err)
    }
    else if (!req.session.user || !req.session.badge) {
      res.redirect('/login');
    }
    else if (req.session.user || req.session.badge) {
      res.render('doc_types', { pageTitle: 'Document Types', types: types, currentUser: req.session.user })

    }
  })
})

.post((req, res) => {
  var type = new Type();

  type.type_id = req.body.input_type_id;
  type.type_description = req.body.input_type_description;
  type.created_by = req.session.user;

  type.save((err) => {
    if (err) {
      console.error(err)
      res.json(err)
    }
    else {
      res.json("Success!");
    }
  })
});

如果您查看 .post 方法,您会注意到“type.created_by = req.session.user;”行。然后我通过模式将数据保存到我的数据库中。这样做后,我的会话值不会传递到猫鼬方案中。它是空的。但是,当我 console.log 的 req.session 值时,它在那里显示得很好。

有人可以在这里澄清我的问题吗?我难住了。这可能是我忽略了一些愚蠢的事情。

【问题讨论】:

    标签: javascript node.js mongodb express


    【解决方案1】:

    Welp,这是一件愚蠢的事情。 :) 我正在使用邮递员将我的数据“发布”到页面。 Postman 不知道会话值是什么,因此没有数据发送到 mongoose 文档 ID。会话仅存储在服务器/浏览器端。学习了,哈哈。

    【讨论】:

      猜你喜欢
      • 2020-11-25
      • 2015-12-31
      • 2015-05-04
      • 1970-01-01
      • 1970-01-01
      • 2012-11-20
      • 2017-02-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多