Я не могу удалить конкретный eventid из UserSchema. Я искал это и получил метод с использованием unset, но это удаление всего пользователя, в то время как функция push ничего не делает. Есть ли другой способ сделать это?Как удалить определенное поле с помощью конидиции в mongodb?
Текущий UserSchema
[
{
"_id": "56593f3657e27af8245735d7",
"username": "abc",
"name": "xyz",
"__v": 0,
"favouriteid": [
{
"eventid": "5659242639e43bfc2a0836b9",
"_id": "56593f6b57e27af8245735d8"
},
{
"eventid": "5659244039e43bfc2a0836ba",
"_id": "56593f8857e27af8245735d9"
}
]
}
]
Что need-
[
{
"_id": "56593f3657e27af8245735d7",
"username": "abc",
"name": "xyz",
"__v": 0,
"favouriteid": [
{
"eventid": "5659242639e43bfc2a0836b9",
"_id": "56593f6b57e27af8245735d8"
}
]
}
]
I будет проходить EventID и идентификатор Но когда я использую этот код, пользователь будет удален сам, а не обязательные поля ,
api.post('/removefavourites', function (req, res) {
// _id: req.body.id;
User.findById({_id: req.body.userid},
{$unset:{favouriteid: {eventid: req.body.eventid}}},
{upsert: true},
function (err) {
if(err)
return err;
else
res.json({success: true});
});
});
Спасибо, что помогло. – RayOfHope