クエリを動的に作成し、次のスニペットを使用したいと思います。
--snip--
module.exports = {
get : function(req, res, next) {
var queryStr = "req.database.table('locations').get(parseInt(req.params.id))";
if (req.params.id) {
if (req.fields) {
queryStr += '.pick(' + req.fieldsStr + ')';
}
console.log(queryStr);
eval(queryStr).run(function(result) {
console.log(result);
res.send(result);
});
} else if (!req.params.id) {
--snip--
ただし、evalを導入すると、コードがインジェクションに開かれ(req.fieldsはurlパラメーターで埋められます)、アプリの応答時間が7ミリ秒から11ミリ秒に増加します。
私がここでしたことを達成するためのより賢い方法はありますか?
ご意見をお聞かせください。