Мой текущий запрос выглядит так:
router.get('/search?', function(req, res, next) {
var title = req.query.title;
var sql = "SELECT * from users WHERE title = ?";
connection.query(sql, [title], function (error, results, fields) {
res.json({"status": 200, "error": null, "response": results});
});
});
Он работает, если я вхожу:
localhost:4001/api/v1/users/search?title=mr
Но как я могу искать несколько значений с помощью OR... вот так:
localhost:4001/api/v1/users/search?title=mr,mrs,dr
В принципе,
Если у вас есть несколько значений, разделенных запятой в качестве параметра запроса, вы можете разделить их ,
и использовать SQL IN clause
.
Если у вас есть одно значение параметра, ваш метод уже работает отлично.
router.get('/search?', function(req, res, next) {
var title = req.query.title;
var sql;
if (title.includes(",")) {
var params = title.split(",");
sql = "SELECT * from users WHERE title IN " + params;
} else {
sql = "SELECT * from users WHERE title = " + title;
}
connection.query(sql, function (error, results, fields) {
res.json({"status": 200, "error": null, "response": results});
});
});