32 lines
1.0 KiB
JavaScript
32 lines
1.0 KiB
JavaScript
// Multikey geo values tests - SERVER-3793.
|
|
|
|
t = db.jstests_geo_multikey0;
|
|
t.drop();
|
|
|
|
// Check that conflicting constraints are satisfied by parallel array elements.
|
|
t.save({loc: [{x: 20, y: 30}, {x: 30, y: 40}]});
|
|
assert.eq(
|
|
1, t.count({loc: {x: 20, y: 30}, $and: [{loc: {$gt: {x: 20, y: 35}, $lt: {x: 20, y: 34}}}]}));
|
|
|
|
// Check that conflicting constraints are satisfied by parallel array elements with a 2d index on
|
|
// loc.
|
|
if (0) { // SERVER-3793
|
|
t.ensureIndex({loc: '2d'});
|
|
assert.eq(
|
|
1,
|
|
t.count({loc: {x: 20, y: 30}, $and: [{loc: {$gt: {x: 20, y: 35}, $lt: {x: 20, y: 34}}}]}));
|
|
}
|
|
|
|
t.drop();
|
|
|
|
// Check that conflicting constraints are satisfied by parallel array elements of x.
|
|
t.save({loc: [20, 30], x: [1, 2]});
|
|
assert.eq(1, t.count({loc: [20, 30], x: {$gt: 1.7, $lt: 1.2}}));
|
|
|
|
// Check that conflicting constraints are satisfied by parallel array elements of x with a 2d index
|
|
// on loc,x.
|
|
if (0) { // SERVER-3793
|
|
t.ensureIndex({loc: '2d', x: 1});
|
|
assert.eq(1, t.count({loc: [20, 30], x: {$gt: 1.7, $lt: 1.2}}));
|
|
}
|