// @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(); });