Files
mongo/jstests/core/query/nor.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

40 lines
987 B
JavaScript

// Test $nor match expression.
import {assertArrayEq} from "jstests/aggregation/extras/utils.js";
const coll = db.jstests_core_nor;
coll.drop();
function assertIds(query, expectedIds) {
const resultIds = coll.find(query, {_id: 1}).map((d) => d._id);
assertArrayEq({actual: expectedIds, expected: resultIds});
}
assert.commandWorked(
coll.insert([
{_id: 1, a: 1},
{_id: 2, a: 2},
{_id: 3, a: 3},
]),
);
assertIds({$nor: [{a: 1}]}, [2, 3]);
assertIds({$nor: [{a: 1}, {a: 2}]}, [3]);
assertIds({$nor: [{a: 1}, {a: 2}, {a: 3}]}, []);
assert(coll.drop());
assert.commandWorked(
coll.insert([
{_id: 1, a: 1, b: 2, c: 3},
{_id: 2, a: 1, b: 2, c: 5},
{_id: 3, a: 1, b: 5, c: 3},
{_id: 4, a: 1, b: 5, c: 5},
{_id: 5, a: 5, b: 2, c: 3},
{_id: 6, a: 5, b: 2, c: 5},
{_id: 7, a: 5, b: 5, c: 3},
{_id: 8, a: 5, b: 5, c: 5},
]),
);
assertIds({$nor: [{a: 1}, {b: 2}, {c: 3}]}, [8]);