Z dokumentace:
{ $pull : { field : {$gt: 3} } } removes array elements greater than 3
Takže předpokládám, že teď můžete udělat něco takového:
{ $pull : { field : {$gt: 3, $lt: 5} } } // shoud remove elemet in 4 position
Nebo zkuste aktualizovat pomocí operátor pozice , předpokládám, že by to mělo být něco takového:
{ $pull : "field.4" }
{ $pull : {"field.$": 4}}
Je to pouze návrh, protože to teď nemohu otestovat.
Aktualizace:
Zdá se, že to nemůžete udělat správně v jednom kroku (v jira je taková chyba )
Ale můžete odstranit pomocí unset element in position a to pull elemets s nulovou hodnotou:
{$unset : {"array.4" : 1 }}
{$pull : {"array" : null}}