我需要从mongoDB数组中删除特定对象。
应该删除红色多维数据集内的上述信息,但(0:对象)
我尝试了下面的显示方式,但是没有用。
而且我需要删除整个对象,但是不能直接在查询中传递值,因此我需要从mongoDB中获取信息并将其删除。
router.post("/deleteArquive/:id", ensureAuthenticated, (req, res) => {
var id = mongoose.Types.ObjectId(req.params.id);
House.update(
{ "expensesHouse._id": id },
{
$pull: {
expensesHouse: {
status: "expensesHouse.status",
_id: "expensesHouse._id",
expenseType: "expensesHouse.expenseType"
}
}
}
).then(house => {
if (house.userID !== req.user.id) {
res.redirect("/houses/houses");
} else {
req.flash("success_msg", "House removed!");
res.redirect("/houses/houses");
}
});
});
最佳答案
如果我正确理解了需求,则应该执行以下操作:
House.update(
{ "expensesHouse._id": id },
{
$pull: {
expensesHouse: {
_id: id
}
}
}
)