दस्तावेज़ीकरण से:
{ $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}}
यह केवल एक सुझाव है, क्योंकि मैं अभी इसका परीक्षण नहीं कर सकता।
अपडेट करें:
ऐसा लगता है कि आप इसे एक चरण में ठीक से नहीं कर सकते (ऐसा जीरा में बग है )
लेकिन आप स्थिति में सेट न किए गए तत्व का उपयोग करके हटा सकते हैं और उस तत्व को शून्य मान के साथ खींच सकते हैं:
{$unset : {"array.4" : 1 }}
{$pull : {"array" : null}}