От документацията:
{ $pull : { field : {$gt: 3} } } removes array elements greater than 3
Така че предполагам, че можете да направите нещо подобно засега:
{ $pull : { field : {$gt: 3, $lt: 5} } } // shoud remove elemet in 4 position
Или опитайте да актуализирате чрез оператор за позиция , предполагам, че трябва да е нещо подобно:
{ $pull : "field.4" }
{ $pull : {"field.$": 4}}
Това е само предложение, защото не мога да го тествам в момента.
Актуализация:
Изглежда не можете да го направите правилно в една стъпка (има такъв бъг в jira )
Но можете да премахнете, като използвате ненастроен елемент в позиция и който изтегля елементи с нулева стойност:
{$unset : {"array.4" : 1 }}
{$pull : {"array" : null}}