Здравствуйте, у меня есть эта функция GET, которая использует async, которая находит конкретную схему mongoose "Category", которую пользователь только что щелкнул, и другую схему mongoose "Tool" (которая просто находит все инструменты в моей базе данных) и переносит их обоих в визуализированныйстр.
Я бродил, если есть способ добавить какую-то фильтрацию в мой Tool.find, чтобы он нашел, например, только те инструменты, которые имеют такую же категорию свойств (Tool.category), что и Категория (Category).имя) пользователь только что нажал?
функция GET:
router.get("/catalog/:id", function (req, res, next) {
let output = {
category: [],
tools: []
};
async.parallel([
function (cb) {
Category.findById(req.params.id).exec(function (err, foundCategory) {
if (err || !foundCategory) {
req.flash("error", "No category found.");
return res.redirect("back");
} else {
output.category = foundCategory;
cb(null, foundCategory);
}
});
},
function (cb) {
Tool.find({}, function (err, foundTools) {
if (err || !foundTools) {
req.flash("error", "No tools were found.");
return res.redirect("back");
} else {
output.tools = foundTools;
cb(null, foundTools);
}
});
}
], function done(err, results) {
if (err) {
res.json(err.message);
} else {
res.render("tools/catalog-items", {
category: output.category,
tools: output.tools
});
}
});
});