summaryrefslogtreecommitdiff
path: root/jstests/core/basic9.js
blob: 3078fcad2bc823435d7ea06df26583effc718586 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
// Tests that $<prefix> field names are not allowed, but you can use a $ anywhere else.
t = db.getCollection( "foo_basic9" );
t.drop();

// more diagnostics on bad save, if exception fails
doBadSave = function(param) {
    print("doing save with " + tojson(param));
    var res = t.save(param);
    // Should not get here.
    print('Should have errored out: ' + tojson(res));
};

t.save({foo$foo:5});
t.save({foo$:5});

assert.throws(doBadSave, [{$foo:5}], "key names aren't allowed to start with $ doesn't work");
assert.throws(doBadSave, 
              [{x:{$foo:5}}], 
              "embedded key names aren't allowed to start with $ doesn't work");