我正在建立一个使用mongodb
的具有注册/登录系统的网站。
我已经成功创建了一个admin
页面,该页面只能由管理员(if permission > 0
)访问。
在admin page
上显示所有用户,并显示用户名,电子邮件,电话号码和points
。我正在尝试做的是能够使用网页中的管理员帐户来incease
个用户积分。这是使用jade js
来显示用户的方式及其在页面上的外观:
ul
each user, i in userlist
li#user_list_item
label Username:
span #{user.username}
label Email:
span #{user.email}
label Points:
span #{user.points}
button.btn.btn-primary() +pts
label Telefon:
span #{user.phoneNo}
label Permissions:
span #{user.permissions}
在点旁边是button
,名称为+pts
。当按下该按钮时,我想增加该按钮所在的用户的分数。假设我点击了第一个用户名admin
上的按钮,因此积分将增加1,因此新积分为1005
。标签仅用于更改CSS中的颜色。如何使用可用于每个按钮的一个功能来实现此目的?
这是我在管理页面上使用的get request
。
router.get('/admin', isAdmin, function(req, res) {
const MongoClient = mongodb.MongoClient;
const url = 'mongodb://localhost:27017/gymsite';
MongoClient.connect(url, function(err, db) {
if (err) {
res.send({
msg: "Failed to connect to db"
});
} else {
const users = db.collection('users');
users.find({}).toArray(function(err, result) {
if (err) {
res.send(err);
} else if (result.length) {
res.render('admin', {
'userlist': result
});
} else {
res.send({
msg: 'No users found'
});
}
db.close();
});
}
});
});
isAdmin
是用于检查用户isAutheinticated
是否以及该用户的permissions
是否为greater than 0
的功能。基本上,它只会检查其是否为管理员。
我希望我能清楚地写出我想要达到的目标。
谢谢大家!