如何从服务器上的数据库中保存用户ID值?

时间:2017-10-25 16:05:26

标签: node.js express mongoose

我有登录/注册路由,我将用户保存到数据库。每个用户都有自己的页面,他可以自定义eveything。例如,用户更改其状态。状态组件对我的服务器进行ajax调用,然后我的服务器尝试从curent会话中找到一个用户(我不知道该怎么做),然后在db中更改其状态属性。

我正在使用React,Express,Mongoose。

我以为我会在/ login或/ signup路由上将用户保存到我的req对象,但这不起作用。

api.get('/login', (req) => {
     ...getting data from req obj

     req.user = user

     ...doing other things
  });

1 个答案:

答案 0 :(得分:0)

req对象包含来自http调用的数据。

例如,如果您的反应应用程序向此网址发出GET请求

    Sub LastRowInOneColumn()
    'Updateby20150305
    Dim xLastRow As Long
    With Application.ActiveSheet
        xLastRow = .Cells(.Rows.Count, "B").End(xlUp).Row
    End With
    MsgBox xLastRow

    If xLastRow = "22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,30,40,41,42,43,44,45" Then

    Application.Dialogs(xlDialogPrinterSetup).Show
    'Worksheets("Sheet1").PrintOut From:=1, To:=1, Preview:=True

    End If

End Sub

你已经在你的快递应用中定义了一条路线

http://localhost/user/123

然后您可以访问此请求对象以获取http url param中的用户ID。

router.get('user/:id', getUser());

使用该user_id,您可以使用像这样的mongoose在mongodb中找到一个用户。

function getUser(req, res) {

     let user_id = req.params.id

}

或者您可以更新用户对象

function getUser(req, res) {

    let user_id = req.params.id;

    User.findOne({'_id': user_id}, (err, user) => {

        if(err) {
            return res.json(err);
        }

        return res.json(user);

    });

}

建议您阅读本文以了解基础知识。 http://mongoosejs.com/docs/guide.html https://scotch.io/tutorials/build-a-restful-api-using-node-and-express-4