the first parameter of mongo update is "query", so we can
combine query and modification into one command.

This avoids race condition.
smart voting

int template helper, you the argument you pass in {{}}
can be accessed by object "arguments", but the last element is a hash
ojbect added by handlebars, so after using slice to convert object to
array, you should pop() the last element