sql >> Databáze >  >> NoSQL >> MongoDB

Jak donutit MongoDB pullAll ignorovat pořadí dokumentů

$pullAll Operátor je skutečně "speciální případ", který byl většinou určen pro jednotlivé "skalární" prvky pole a ne pro dílčí dokumenty způsobem, jakým jej používáte.

Místo toho použijte $pull který zkontroluje každý prvek a použije $or podmínka pro seznamy dokumentů:

db.streams.update(
    { "user": "user_name" },
    { "$pull": { "streams": { "$or": streamsB } }}
)

Tímto způsobem nezáleží na tom, v jakém pořadí jsou pole, nebo skutečně hledat "přesnou shodu" jako aktuální $pullAll operace skutečně probíhá.




  1. Jak najít nejbližší páry (Hammingova vzdálenost) řetězce binárních přihrádek v Ruby bez problémů s O^2?

  2. Jak nasadit node.js s redis na kubernetes?

  3. res.redirect zobrazující staré informace po odeslání formuláře?

  4. Vrátí konkrétní pole z kolekce objektů