Я пытаюсь создать запрос для извлечения информации из моего mongoDB, но мне нужно отфильтровать результаты и получить только соответствующее значение.
Так я пытался до сих пор. Мне нужно сопоставить costHouse._id с идентификатором, который я передам в ссылке.
router.get("/showExpense/:id", ensureAuthenticated, (req, res) => {
House.aggregate([
{
expensesHouse: {
$filter: {
input: "$expensesHouse",
as: "each",
cond: { $eq: ["$$each._id", req.params.id] }
}
}
}
]).then(house => {
console.log(house);
res.render("houses/showExpense", {
house: house
});
});
На следующем экране показана схема mongodb. Мне нужно получить каждое значение из costHouse, но только с пропущенным «идентификатором» необходимо сопоставить с costHouse.ID
После того, как результат I нужно использовать их здесь, в моих рулях
<form>
{{#each house}}
{{#each expensesHouse}}
<div class="form-group">
<label for="expenseType" class="text-dark">Expense Type</label>
<input type="text" class="form-control" name="expenseType" value="{{expenseType}}" disabled>
</div>
<div class="form-group">
<label for="description" class="text-dark">Description</label>
<input type="text" class="form-control" name="description" value="{{description}}" disabled>
</div>
<div class="form-group">
<label for="price" class="text-dark">Price</label>
<input type="text" class="form-control" name="price" value="{{price}}" disabled>
</div>
<div class="form-group">
<label for="status" class="text-dark">Price</label>
<input type="text" class="form-control" name="status" value="{{status}}" disabled>
</div>
{{/each}}
{{/each}}
</form>