This update
> db.test.update({x : 1}, {$push : {a : {$each : [3,4], $position : -1}}})
WriteResult({
"nMatched" : 0,
"nUpserted" : 0,
"nModified" : 0,
"writeError" : {
"code" : 2,
"errmsg" : "The $position value in $push must be positive."
}
})
correctly fails with the message "The $position value in $push must be positive.". The message is slightly incorrect though because valid values are positive and 0 (non negative).