summaryrefslogtreecommitdiff
path: root/jstests/core/remove.js
blob: 9a71767c3c7b407765ce4ce3fda6f9a53b42f606 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
// remove.js
// unit test for db remove

t = db.removetest;

function f(n,dir) {
    t.ensureIndex({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(); });