MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Jak zmusić MongoDB pullAll do ignorowania kolejności dokumentów?

$pullAll Operator jest tak naprawdę „przypadkiem specjalnym”, który był przeznaczony głównie dla pojedynczych „skalarnych” elementów tablicy, a nie dla dokumentów podrzędnych w sposób, w jaki go używasz.

Zamiast tego użyj $pull który sprawdzi każdy element i użyje $or warunek dla list dokumentów:

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

W ten sposób nie ma znaczenia, w jakiej kolejności znajdują się pola, ani rzeczywiście szukać "dokładnego dopasowania" jako bieżącego $pullAll operacja faktycznie działa.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Konwersja ciągu na datę w mongodb

  2. Jak uzyskać nazwy z identyfikatora w manguście?

  3. ogranicz i posortuj każdą grupę według w mongoDB za pomocą agregacji

  4. Wstawianie obiektu momentjs do kolekcji Meteor

  5. Lista atrybutów dynamicznych w modelu Mongoid