diff options
Diffstat (limited to 'jstests/core/write/delete/remove.js')
-rw-r--r-- | jstests/core/write/delete/remove.js | 32 |
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(); +}); |