Files
mongo/jstests/core/query/array/array_match2.js
Zac 591928c619 SERVER-108478 JS formatted by prettier and remove clang-format (#39656)
GitOrigin-RevId: 6c8f6aded47f260aa4f7c231b17dae3302cb1e04
2025-08-21 17:27:09 +00:00

22 lines
664 B
JavaScript

// @tags: [requires_non_retryable_writes]
let t = db.jstests_array_match2;
t.drop();
t.save({a: [{1: 4}, 5]});
// When the array index is the last field, both of these match types work.
assert.eq(1, t.count({"a.1": 4}));
assert.eq(1, t.count({"a.1": 5}));
t.remove({});
// When the array index is not the last field, only one of the match types works.
t.save({a: [{1: {foo: 4}}, {foo: 5}]});
assert.eq(1, t.count({"a.1.foo": 4}));
assert.eq(1, t.count({"a.1.foo": 5}));
// Same issue with the $exists operator
t.remove({});
t.save({a: [{1: {foo: 4}}, {}]});
assert.eq(1, t.count({"a.1": {$exists: true}}));
assert.eq(1, t.count({"a.1.foo": {$exists: true}}));