sql >> Database >  >> NoSQL >> MongoDB

Hoe MongoDB pullAll te dwingen de documentvolgorde te negeren

De $pullAll operator is echt een "speciaal geval" dat vooral bedoeld was voor enkele "scalaire" array-elementen en niet voor subdocumenten zoals u het gebruikt.

Gebruik in plaats daarvan $pull die elk element inspecteert en een $or voorwaarde voor de documentenlijsten:

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

Op die manier maakt het niet uit in welke volgorde de velden staan ​​of zoekt u inderdaad naar een "exacte overeenkomst" zoals de huidige $pullAll operatie daadwerkelijk aan het doen is.




  1. MongoDB ::zijn Mongo-ID's uniek in collecties?

  2. MongoDB automatiseren en beheren met ClusterControl

  3. Hoe de grootte van tijdschriften in Mongodb te controleren?

  4. Hoe een MongoDB-cluster configureren die sessies ondersteunt?