summaryrefslogtreecommitdiff
path: root/jstests/core/arrayfind4.js
blob: 4fac0b63755191f44ddbdc87a9364b3d9297d9c2 (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
// @tags: [
//   requires_non_retryable_writes,
// ]

// Test query empty array SERVER-2258

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

t.save({a: []});
t.ensureIndex({a: 1});

assert.eq(1, t.find({a: []}).hint({$natural: 1}).itcount());
assert.eq(1, t.find({a: []}).hint({a: 1}).itcount());

assert.eq(1, t.find({a: {$in: [[]]}}).hint({$natural: 1}).itcount());
assert.eq(1, t.find({a: {$in: [[]]}}).hint({a: 1}).itcount());

t.remove({});
t.save({a: [[]]});

assert.eq(1, t.find({a: []}).hint({$natural: 1}).itcount());
assert.eq(1, t.find({a: []}).hint({a: 1}).itcount());

assert.eq(1, t.find({a: {$in: [[]]}}).hint({$natural: 1}).itcount());
assert.eq(1, t.find({a: {$in: [[]]}}).hint({a: 1}).itcount());