summaryrefslogtreecommitdiff
path: root/jstests/core/basic9.js
diff options
context:
space:
mode:
Diffstat (limited to 'jstests/core/basic9.js')
-rw-r--r--jstests/core/basic9.js19
1 files changed, 19 insertions, 0 deletions
diff --git a/jstests/core/basic9.js b/jstests/core/basic9.js
new file mode 100644
index 00000000000..814b72b2ae7
--- /dev/null
+++ b/jstests/core/basic9.js
@@ -0,0 +1,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");