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
|
// @tags: [requires_non_retryable_writes, requires_fastcount]
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});
|