In MongoDB è semplice rimuovere elementi dagli array.
Abbiamo una collezione di clienti ciascuno con un array di ID di ordini effettuati:
[
{
orders: [1024, 2360, 3490]
},
{
orders: [2030, 1267, 3945]
}
]
Rimuoviamo un ordine utilizzando gli operatori $in e $pull
:
db.customers.update(
{ orders: { $in: [2030] } },
{ $pull: { orders: { $in: [2030] } } }
);
Il significato della query è: se nell'array orders
è presente 2030
, rimuovi questo valore dall'array.
Ora la collezione si presenterà così:
[
{
orders: [1024, 2360, 3490]
},
{
orders: [1267, 3945]
}
]