MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

mongodb estrae tutti gli elementi dall'array

Non è così che funziona $pullAll. Non puoi specificare una condizione di corrispondenza, puoi solo specificare una matrice di oggetti da eliminare (che devono corrispondere esattamente).

Fortunatamente, puoi invece usare $pull (che accetta una condizione di corrispondenza):

db.coll.update({
'_id': 1
},{
 $pull : {
  n.d : {
     $lte : new Date(2000, 10, 11)
   }
 }
})

Nota che $pull estrae anche tutto elementi che corrispondono, non solo uno.

Questo è certamente un po' confuso .