Jeśli nie jesteś ograniczony do jednego kroku, możesz spróbować:
krok 1) użyj funkcji agregującej z operatorami $unwind i $group, aby znaleźć minimalną pozycję dla każdego dokumentu
myresults = db.megas.aggregate( [ { "$unwind": "$items" },
{"$group": { '_id':'$_id' , 'minitem': {'$min': "$items.item" } } } ] )
krok 2) przeprowadź pętlę przez wyniki i $wyciągnij element z tablicy
for result in myresults['result']:
db.megas.update( { '_id': result['_id'] },
{ '$pull': { 'items': { 'item': result['minitem'] } } } )