Dari dokumentasi:
{ $pull : { field : {$gt: 3} } } removes array elements greater than 3
Jadi saya kira Anda dapat melakukan sesuatu seperti ini untuk saat ini:
{ $pull : { field : {$gt: 3, $lt: 5} } } // shoud remove elemet in 4 position
Atau coba perbarui menggunakan operator posisi , saya kira seharusnya seperti ini:
{ $pull : "field.4" }
{ $pull : {"field.$": 4}}
Itu hanya saran, karena saya tidak bisa mengujinya sekarang.
Pembaruan:
Sepertinya Anda tidak dapat melakukannya dengan benar dalam satu langkah (ada bug di jira )
Tetapi Anda dapat menghapus menggunakan elemen yang tidak disetel di posisi dan elemen yang menarik dengan nilai nol:
{$unset : {"array.4" : 1 }}
{$pull : {"array" : null}}