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

pullAll podczas usuwania osadzonych obiektów

$pullAll operator jest w rzeczywistości skrótem "specjalnej wielkości liter", który działa na tablicach zawierających tylko wartości, takich jak alternatywny przypadek.

To, czego naprawdę chcesz, to $pull a jego argumentem jest "zapytanie" o dokumenty zawarte w tablicy. Twoja lista staje się zatem argumentem dla $in :

db.bios.update(
   { "name.first": "James" },
   { 
      "$pull": { 
         "awards": { "by": { "$in": ["Stockholm", "Hollywood"] } } 
      } 
   }
)

W innym przykładzie dłuższa forma $pullAll byłoby:

db.bios.update(
   { "name.first": "James" },
   {
       "$pull": { "contribs": { "$in": ["Java","UNIX"] } }
   }
)

To samo, ale tylko forma „odręczna”.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Uruchamianie mongodb na ubuntu 16.04 LTS

  2. Dlaczego MongoDB nie zezwala już na używanie $set i $unset z pustym dokumentem?

  3. Transakcje Mongoose.js

  4. Mongo i Node.js:znajdowanie dokumentu według _id przy użyciu identyfikatora UUID (GUID)

  5. Po co używać model.export w oddzielnych plikach modeli?