Database

[{name:"my name",someArray:[{rate:10},{rate:9},{rate:20}]},{name:"my name B",someArray:[{rate:10},{rate:9},{rate:20}]}]

Query

db.collection.update({name:"my name"},[{$set:{lastItem:{$last:"$someArray"},rest:{$slice:["$someArray",0,{$subtract:[{$size:"$someArray"},1]}]}}},{$set:{"lastItem.rate":50}},{$set:{someArray:{$concatArrays:["$rest",["$lastItem"]]},lastItem:"$$REMOVE",rest:"$$REMOVE"}}])

Result