
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);
}, null, "can't save from $where");

assert.eq(0, t2.find().length(), "B");

assert(t.validate().valid, "E");
