Изглежда като mongo-sanitize
Модулът npm е мястото, от което да започнете за необработената функционалност за екраниране. Честно казано, това звучи по-подходящо в слоя за свързване/изразяване на мидълуера, тъй като в слоя mongoose, по дизайн, кодът не упражнява никакви очаквания върху параметрите за заявка/актуализация по отношение на това дали са написани от разработчика на приложението (в който случай те не трябва да се дезинфекцират или няма да функционират правилно) или да включват потребителски вход (което трябва да се дезинфекцира). Затова бих препоръчал мидълуерни функции за дезинфекция на най-често срещаните места за въвеждане от потребителя:req.body
, req.query
и req.params
. Така например можете да направите нещо като (скица):
var json = require("body-parser").json;
var sanitize = require("mongo-sanitize");
function cleanBody(req, res, next) {
req.body = sanitize(req.body);
next();
}
function updateUser(req, res) {
//...
// safe to build an update query involving req.body here
}
app.put("/api/users", json(), cleanBody, updateUser);