我使用Sails和Waterline,我会将url中的用户名与数据库元素进行比较,以查找用户。
http://localhost:1337/johndoe (或id)在数据库中查找无名氏。
我的控制器,目前:
user: function (req, res) {
var user = req.param('user');
var elt = (/^[0-9]*$/.test(user))?{id: user}:{name: user};
User.findOne(elt).exec(function (err, user) {
if (err) res.json({ error: 'DB error' }, 500);
if (user) {
res.json(user);
} else {
res.json({ error: 'User not found' }, 404);
}
});
}一个主意,好吗?
发布于 2015-02-06 00:08:25
将elt放在where函数中,如下所示:
user: function (req, res) {
var user = req.param('user');
var elt = (/^[0-9]*$/.test(user))?{id: user}:{name: user};
User.findOne().where(elt).exec(function (err, user) {
if (err) res.json({ error: 'DB error' }, 500);
if (user) {
res.json(user);
} else {
res.json({ error: 'User not found' }, 404);
}
});
}https://stackoverflow.com/questions/28344556
复制相似问题