Удалить объект из массива MongoDB - PullRequest
0 голосов
/ 01 февраля 2020

Мне нужно удалить указанный c объект из моего массива mongoDB.

Следует удалить указанную выше информацию внутри красного куба, но (0: объект)

MongoDB Schema

Я пробовал способ, который я показываю ниже, но не работал. И мне нужно удалить весь объект, но я не могу передать значения непосредственно в запросе, поэтому мне нужно получить информацию из 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");
    }
  });
}); 

1 Ответ

2 голосов
/ 01 февраля 2020

Если я правильно понимаю требования, это должно сделать работу:

House.update(
  { "expensesHouse._id": id },
  { 
    $pull: {
      expensesHouse: {
        _id: id
      }
    } 
  }
)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...