sql >> Database >  >> NoSQL >> MongoDB

Hoe een document in een array in mongodb te verwijderen met $pull

U kunt dit doen met behulp van de positionele operator "$[]" :

db.getCollection('workflows').update({_id: ObjectId("5ffef283f1f06ff8524aa2c2")  }, {$pull: {"workflows.$[]":{pName:"Test1"  } }  } )

maar het schema ziet er een beetje vreemd uit en na de update heb je lege arrays in workflows als alle elementen in de sub-array zijn verwijderd. Om de lege sub-arrays te repareren, moet je een tweede bewerking uitvoeren om ze te verwijderen:

db.getCollection('workflows').update({_id: ObjectId("5ffef283f1f06ff8524aa2c2")  }, {$pull: {"workflows":[]  } }   )


  1. MongoDB UpdateEerste methode gebruik

  2. Mongoid Query DB op virtueel kenmerk

  3. Slechte prestaties van opzoekaggregatie

  4. Een SQL LIKE-instructie gebruiken in MongoDB