MongoDB v2.6以降は{$set: {}}でupdateするとエラーになる
[SERVER-12266] Update no longer allows empty modifier objects - MongoDB Jira
によれば、v2.5から、$setや$unsetにからオブジェクトを渡すとエラーになるよう、挙動を変更したそう。
> db.foo.update({_id:1}, {$set: {}}, true); db.getLastErrorObj();
{
"err" : "'$set' is empty. You must specify a field like so: {$mod: {<field>: ...}}",
"code" : 16840,
"n" : 0,
"connectionId" : 2,
"ok" : 1
}
というエラーが。
v2.4以前使っているような、古いプロジェクトだと結構困るんじゃないでしょうか。