summaryrefslogtreecommitdiff
path: root/jstests/core/find_and_modify2.js
diff options
context:
space:
mode:
Diffstat (limited to 'jstests/core/find_and_modify2.js')
-rw-r--r--jstests/core/find_and_modify2.js16
1 files changed, 16 insertions, 0 deletions
diff --git a/jstests/core/find_and_modify2.js b/jstests/core/find_and_modify2.js
new file mode 100644
index 00000000000..2c8ab5b3bb6
--- /dev/null
+++ b/jstests/core/find_and_modify2.js
@@ -0,0 +1,16 @@
+t = db.find_and_modify2;
+t.drop();
+
+t.insert({_id:1, i:0, j:0});
+
+out = t.findAndModify({update: {$inc: {i:1}}, 'new': true, fields: {i:1}});
+assert.eq(out, {_id:1, i:1});
+
+out = t.findAndModify({update: {$inc: {i:1}}, fields: {i:0}});
+assert.eq(out, {_id:1, j:0});
+
+out = t.findAndModify({update: {$inc: {i:1}}, fields: {_id:0, j:1}});
+assert.eq(out, {j:0});
+
+out = t.findAndModify({update: {$inc: {i:1}}, fields: {_id:0, j:1}, 'new': true});
+assert.eq(out, {j:0});