summaryrefslogtreecommitdiff
path: root/jstests/core/remove6.js
blob: 83f5a5e673309b764ff74f1c0cf3f60db52b587a (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
28
29
30
31
32
33
34
35
36
37
38
39
40

t = db.remove6;
t.drop();

N = 1000;

function pop(){
    t.drop();
    var arr = [];
    for ( var i=0; i<N; i++ ){
        arr.push( { x : 1 , tags : [ "a" , "b" , "c" ] } );
    }
    t.insert( arr );
    assert.eq( t.count(), N );
}

function del(){
    return t.remove( { tags : { $in : [ "a" , "c" ] } } );
}

function test( n , idx ){
    pop();
    assert.eq( N , t.count() , n + " A " + idx );
    if ( idx )
        t.ensureIndex( idx );
    var res = del();
    assert( !res.hasWriteError() , "error deleting: " + res.toString() );
    assert.eq( 0 , t.count() , n + " B " + idx );
}

test( "a" );
test( "b" , { x : 1 } );
test( "c" , { tags : 1 } );

N = 5000;

test( "a2" );
test( "b2" , { x : 1 } );
test( "c2" , { tags : 1 } );