Good Day and thank you for taking your time with my question!
I am in the process of learning how to code and this is my first question here:
I have a MongoDB collection that is structured like the following example. Each document is representating a period, for which users gave availabilities.
{
"_id": id,
"period": 20218,
"availabilities": [{
"User": id1,
"Username": "Cool Guy",
"Useravailabilities": [9, 13, 14, 28, 29]
}, {
"User": id2,
"Username": "Nice Guy",
"Useravailabilities": [1, 2, 13, 29, 30]
}],
}
{
"_id": id,
"period": 20219,
"availabilities": [...],
}
{
"_id": id,
"period": 202110,
"availabilities": [...],
}
I get a period (e.g. 20218), a User-ID (e.g. id2) and a day (e.g. 13), that should be removed from the corresponding Useravailabilities array. This query does not do the job, can anybody please help?
DB.updateOne({"period": 20218, "availabilities.User": id2 }, {$pull : {"availabilities.$.Useravailabilities": 13}} )
Thank you in advance and enjoy your day
DB.updateOne(
{ period: 20218 },
{ $pull: { 'availabilities.$[elem].Useravailabilities': 13 } },
{ arrayFilters: [{ 'elem.User': id2 }] }
);