【发布时间】:2018-07-08 16:30:54
【问题描述】:
我正在建立一个使用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。基本上它只检查它是否是管理员。
我希望我把我想要实现的一切都写得很清楚。
提前谢谢你们!
【问题讨论】:
-
您是否尝试过向服务器发出请求并触发增加分数的函数?
-
请添加您的代码作为代码,而不是作为图像。否则我将不得不在 Paint 中回答...
-
现在我想看看@JonasW。用 h̶a̶n̶d̶ 鼠标绘制的图像回答这个问题
-
@luca done ... 我现在终于可以看 Tatort 了 :)
-
我已添加代码
标签: javascript node.js express server frontend