簡體   English   中英

mongodb如何獲取當前登錄用戶

[英]mongodb how to get current logged in user

我可以成功獲取所有用戶,但我需要獲取登錄用戶的詳細信息。 .find()查找數據庫中的每個人是否有特定的功能來獲取當前用戶? 我以為User.getUser() mongodb func可以識別當前登錄的用戶,但顯然不能。

我正在為此登錄用戶創建一個用戶個人資料頁面。

登錄

module.exports.login = function (req, res){
 User.find(req.body, function (err, results){
    if (err) throw err;

    var jsonToken = {
        username: req.body.username,
        expiry: new Date().toISOString()
    }
    var encryptedData = btoa(JSON.stringify(jsonToken));
    console.log(encryptedData);

    if (results && results.length === 1){
        res.json(encryptedData);
    }

   })
}

獲取用戶

module.exports.getuser = function (req, res) {
console.log('get current user detail');
User.find(req.body, function(err, result) {
    if(err) throw err;

    if(result) {
        console.log(result);
        res.json(result);
    }
})
}

角度Ctrl

 var getUser = function() {
        signupService.getUserDetail()
            .then(function(response) {
                console.log(response.data);
            });
    }

您可能正在尋找db.runCommand函數和connectionStatus命令。

  • connectionStatus返回有關當前連接的信息,特別是經過身份驗證的用戶的狀態及其可用權限。

MongoDB Shell示例

> db.runCommand({connectionStatus: 1})
{
    "authInfo" : {
        "authenticatedUsers" : [
            {
                "user" : "myUser",
                "db" : "myDB"
            }
        ],
        "authenticatedUserRoles" : [
            {
                "role" : "dbAdmin",
                "db" : "myDB"
            },
            {
                "role" : "readWrite",
                "db" : "myDB"
            }
        ]
    },
    "ok" : 1
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM