Я пытаюсь удалить элемент из массива в модели MongoDB. Вот моя модель страны:
const CountrySchema = mongoose.Schema({
name: { type: String, required: true },
holidays:
[
{
day: {type: Number, required: true},
month: {type: Number, required: true},
description: { type: String, required: true }
},
],
states: { type: [String], required: true }
});
У меня уже есть в базе данных несколько стран, и у меня есть конечная точка, которая удаляет выходной из страны. У меня есть название страны из параметров запроса и предоставление информации о празднике из POST. Например:
{
"day": 10,
"month": 4,
"description": "Random party"
}
Моя функция deleteHoliday выглядит следующим образом:
function deleteHoliday(req, res) {
var country_name = req.params.country_name;
var n_description = new Country(req.body.description);
let query = Country.update({ 'name': country_name }, { '$pull': { holidays: { description: n_description }}})
query.exec( (err, holidays) =>{
//Check if no errors and send json back
if(err){
res.send(err);
}
res.status(200).json({message:"Holiday removed successfully"});
})
}
Я не совсем уверен, как выполнить запрос, но до того, как запрос будет выполнен, яполучить следующую ошибку:
ObjectParameterError: Параметр "obj" для Document () должен быть объектом, получен случайным участником.
Я просто хочу удалить элемент праздника с приведенным описанием. В этом случае Случайная вечеринка.
Спасибо за вашу помощь.