summaryrefslogtreecommitdiff
path: root/jstests/core/write/delete/remove.js
diff options
context:
space:
mode:
Diffstat (limited to 'jstests/core/write/delete/remove.js')
-rw-r--r--jstests/core/write/delete/remove.js32
1 files changed, 32 insertions, 0 deletions
diff --git a/jstests/core/write/delete/remove.js b/jstests/core/write/delete/remove.js
new file mode 100644
index 00000000000..f08792aeca5
--- /dev/null
+++ b/jstests/core/write/delete/remove.js
@@ -0,0 +1,32 @@
+// @tags: [requires_non_retryable_writes, requires_fastcount]
+
+// remove.js
+// unit test for db remove
+
+t = db.removetest;
+
+function f(n, dir) {
+ t.createIndex({x: dir || 1});
+ for (i = 0; i < n; i++)
+ t.save({x: 3, z: "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"});
+
+ assert.eq(n, t.find().count());
+ t.remove({x: 3});
+
+ assert.eq(0, t.find().count());
+
+ assert(t.findOne() == null, "A:" + tojson(t.findOne()));
+ assert(t.validate().valid, "B");
+}
+
+t.drop();
+f(300, 1);
+
+f(500, -1);
+
+assert(t.validate().valid, "C");
+
+// no query for remove() throws starting in 2.6
+assert.throws(function() {
+ db.t.remove();
+});