ドキュメントから:
{ $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}}
今はテストできないので、これは単なる提案です。
更新:
1つのステップで正しく理解できないようです(jiraのバグ があります )
ただし、未設定の要素を所定の位置に使用すると、要素をnull値でプルして削除できます:
{$unset : {"array.4" : 1 }}
{$pull : {"array" : null}}