Si no está restringido a que la consulta se realice en un solo paso, puede intentar:
paso 1) use la función agregada con los operadores $unwind y $group para encontrar el elemento mínimo para cada documento
myresults = db.megas.aggregate( [ { "$unwind": "$items" },
{"$group": { '_id':'$_id' , 'minitem': {'$min': "$items.item" } } } ] )
paso 2) el bucle a través de los resultados y $saca el elemento de la matriz
for result in myresults['result']:
db.megas.update( { '_id': result['_id'] },
{ '$pull': { 'items': { 'item': result['minitem'] } } } )