我正在尝试编写一个中间件来检查用户当前是否正在关注其他用户。我正在使用Nodejs和MySQL。
我做了类似的事情,但它似乎没有用(我使用if(result.length),因为如果当前用户没有跟随任何人,我会收到错误,因为数据中没有follower_id)。
app.use(function(req, res, next){
var q ="SELECT * FROM follows WHERE follower_id ='" + req.user.id + "'";
connection.query(q, function(err, result){
if(err) throw err;
if (result.length > 0){
res.locals.isFollowing = result;
next();
}
});
});
我的关注表是:
+-------------+-----------+------+-----+-------------------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------------+-----------+------+-----+-------------------+-------+
| follower_id | int(11) | NO | PRI | NULL | |
| followee_id | int(11) | NO | PRI | NULL | |
| created_at | timestamp | NO | | CURRENT_TIMESTAMP | |
+-------------+-----------+------+-----+-------------------+-------+
Data
+-------------+-------------+---------------------+
| follower_id | followee_id | created_at |
+-------------+-------------+---------------------+
| 1 | 2 | 2018-02-02 01:22:24 |
| 1 | 12 | 2018-02-02 01:24:34 |
+-------------+-------------+---------------------+
我将在整个网站中使用此中间件来检查用户当前是否关注(例如帖子页面,个人资料页面等等) 我甚至不知道我目前正在做的是做正确的事情。