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

Sådan tvinges MongoDB pullAll til at se bort fra dokumentrækkefølgen

$pullAll operator er virkelig et "særligt tilfælde", der mest var beregnet til enkelte "skalære" array-elementer og ikke til underdokumenter på den måde, du bruger det på.

Brug i stedet $pull som vil inspicere hvert element og bruge en $or betingelse for dokumentlisterne:

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

På den måde er det ligegyldigt, hvilken rækkefølge felterne er i, eller faktisk ser efter et "nøjagtigt match" som den nuværende $pullAll operationen faktisk gør.




  1. Mongoose getter / settere til normalisering af data

  2. Robomongo forbindelse med Meteor mongodb

  3. Redis flere abonnenter

  4. Mongodb Healthcheck Trin for Trin