Als u niet beperkt bent tot het uitvoeren van een zoekopdracht in één enkele stap, kunt u het volgende proberen:
stap 1) gebruik de aggregatiefunctie met de operators $unwind en $group om het minimumitem voor elk document te vinden
myresults = db.megas.aggregate( [ { "$unwind": "$items" },
{"$group": { '_id':'$_id' , 'minitem': {'$min': "$items.item" } } } ] )
stap 2) de lus door de resultaten en $trek het element uit de array
for result in myresults['result']:
db.megas.update( { '_id': result['_id'] },
{ '$pull': { 'items': { 'item': result['minitem'] } } } )