The following atomic update works on 1.3.0, but doesn't on 1.3.1.
1.3.0
> db.userdb.find()
> db.userdb.update(
, { $set : { "v" :
{ "i" : 123, "a":456 }}, $push :
{ "f" : 234} }, 1, 0 );
> db.userdb.update(
, { $set : { "v" :
{ "i" : 123, "a":456 }}, $push :
{ "f" : 234} }, 1, 0 );
> db.userdb.find()
{ "_id" : ObjectId("4b5df3d9b93fbafb88ecc49e"), "f" : [ 234, 234 ], "l" : 123, "v" :
}
1.3.1
> db.userdb.find()
> db.userdb.update(
, { $set : { "v" :
{ "i" : 123, "a":456 }}, $push :
{ "f" : 234} }, 1, 0 );
> db.userdb.update(
, { $set : { "v" :
{ "i" : 123, "a":456 }}, $push :
{ "f" : 234} }, 1, 0 );
can't apply mod in place - shouldn't have gotten here
> db.userdb.find()
{ "_id" : ObjectId("4b5df40fe57102386957a5ed"), "f" : [ 234 ], "l" : 123, "v" :
}