diff options
author | Charlie Swanson <charlie.swanson@mongodb.com> | 2020-09-02 12:07:23 -0400 |
---|---|---|
committer | Evergreen Agent <no-reply@evergreen.mongodb.com> | 2020-12-01 20:00:06 +0000 |
commit | a71a2a8bfecf7de0807a28e3eabf9412dddd4258 (patch) | |
tree | 44f7728d23d755e87a6fef8bb3e2b60bf5d82784 /jstests/aggregation/bugs | |
parent | 1fba06eafa75520fb7ded3103f3832465023c6be (diff) | |
download | mongo-a71a2a8bfecf7de0807a28e3eabf9412dddd4258.tar.gz |
SERVER-47398 Start sending 'let' for aggregates.
Replaces usages of 'runtimeConstants' with 'let' parameters. This does
not replace usages for the write commands and for $merge. We will need
follow-up work for that.
Diffstat (limited to 'jstests/aggregation/bugs')
-rw-r--r-- | jstests/aggregation/bugs/server9841.js | 47 |
1 files changed, 0 insertions, 47 deletions
diff --git a/jstests/aggregation/bugs/server9841.js b/jstests/aggregation/bugs/server9841.js deleted file mode 100644 index 3c3fd1a1369..00000000000 --- a/jstests/aggregation/bugs/server9841.js +++ /dev/null @@ -1,47 +0,0 @@ -// SERVER-9841 $map expression to map over arrays -// @tags: [ -// sbe_incompatible, -// ] - -load('jstests/aggregation/extras/utils.js'); -var t = db.server9841; -t.drop(); -t.insert({ - simple: [1, 2, 3, 4], - nested: [{a: 1}, {a: 2}], - mixed: [{a: 1}, {}, {a: 2}, {a: null}], - notArray: 1, - null: null, -}); - -function test(expression, expected) { - var result = t.aggregate({$project: {_id: 0, res: expression}}).toArray(); - assert.eq(result, [{res: expected}]); -} - -test({$map: {input: "$simple", as: "var", in : '$$var'}}, [1, 2, 3, 4]); -test({$map: {input: "$simple", as: "var", in : {$add: [10, '$$var']}}}, [11, 12, 13, 14]); -test({$map: {input: "$simple", in : '$$this'}}, [1, 2, 3, 4]); - -test({$map: {input: "$nested", as: "var", in : '$$var.a'}}, [1, 2]); -test({$map: {input: "$nested", as: "CURRENT", in : '$a'}}, [1, 2]); - -test({$map: {input: "$mixed", as: "var", in : '$$var.a'}}, - [1, null, 2, null]); // missing becomes null - -test({$map: {input: "$null", as: "var", in : '$$var'}}, null); - -// can't set ROOT -assertErrorCode(t, {$project: {a: {$map: {input: "$simple", as: "ROOT", in : '$$ROOT'}}}}, 16867); - -// error on non-array -assertErrorCode(t, {$project: {a: {$map: {input: "$notArray", as: "var", in : '$$var'}}}}, 16883); - -// parse errors (missing or extra fields) -assertErrorCode( - t, {$project: {a: {$map: {x: 1, input: "$simple", as: "var", in : '$$var'}}}}, 16879); -assertErrorCode(t, {$project: {a: {$map: {as: "var", in : '$$var'}}}}, 16880); -assertErrorCode(t, {$project: {a: {$map: {input: "$simple", as: "var"}}}}, 16882); - -// 'in' uses undefined variable name. -assertErrorCode(t, {$project: {a: {$map: {input: "$simple", in : '$$var'}}}}, 17276); |