MongoDB: rimuovere elementi dagli array presenti nei documenti

MongoDB: rimuovere elementi dagli array presenti nei documenti

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]
  }
]

Torna su