// @tags: [requires_non_retryable_writes] t = db.jstests_js2; t.remove({}); t2 = db.jstests_js2_2; t2.remove({}); assert.eq(0, t2.find().length(), "A"); t.save({z: 1}); t.save({z: 2}); assert.throws(function() { t.find({ $where: function() { db.jstests_js2_2.save({y: 1}); return 1; } }).forEach(printjson); }, [], "can't save from $where"); assert.eq(0, t2.find().length(), "B"); assert(t.validate().valid, "E");