summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSpencer Jackson <spencer.jackson@mongodb.com>2017-09-06 18:36:10 -0400
committerSpencer Jackson <spencer.jackson@mongodb.com>2017-09-07 15:28:48 -0400
commit876ebee8c7dd0e2d992f36a848ff4dc50ee6603e (patch)
tree814526115782e81518343076f39a1407e72e0869
parentea96f91cf0565fd814b7a71009a77bd4a903e1e7 (diff)
downloadmongo-r3.4.9-rc0.tar.gz
SERVER-30971: Own "scope" BSONObj in mapReducer3.4.9-rc0r3.4.9
(cherry picked from commit f668265318237dc75708a20254e695869487d884)
-rw-r--r--jstests/core/mr4.js6
-rw-r--r--src/mongo/db/commands/mr.cpp4
2 files changed, 5 insertions, 5 deletions
diff --git a/jstests/core/mr4.js b/jstests/core/mr4.js
index 58ea303f7e8..683583acecd 100644
--- a/jstests/core/mr4.js
+++ b/jstests/core/mr4.js
@@ -9,7 +9,7 @@ t.save({x: 4, tags: ["b", "c"]});
m = function() {
this.tags.forEach(function(z) {
- emit(z, {count: xx});
+ emit(z, {count: xx.val});
});
};
@@ -21,7 +21,7 @@ r = function(key, values) {
return {count: total};
};
-res = t.mapReduce(m, r, {out: "mr4_out", scope: {xx: 1}});
+res = t.mapReduce(m, r, {out: "mr4_out", scope: {xx: {val: 1}}});
z = res.convertToSingleObject();
assert.eq(3, Object.keySet(z).length, "A1");
@@ -31,7 +31,7 @@ assert.eq(3, z.c.count, "A4");
res.drop();
-res = t.mapReduce(m, r, {scope: {xx: 2}, out: "mr4_out"});
+res = t.mapReduce(m, r, {scope: {xx: {val: 2}}, out: "mr4_out"});
z = res.convertToSingleObject();
assert.eq(3, Object.keySet(z).length, "A1");
diff --git a/src/mongo/db/commands/mr.cpp b/src/mongo/db/commands/mr.cpp
index 7b7d16d17d3..136656b8dd2 100644
--- a/src/mongo/db/commands/mr.cpp
+++ b/src/mongo/db/commands/mr.cpp
@@ -314,7 +314,7 @@ Config::Config(const string& _dbname, const BSONObj& cmdObj) {
// scope and code
if (cmdObj["scope"].type() == Object)
- scopeSetup = cmdObj["scope"].embeddedObjectUserCheck();
+ scopeSetup = cmdObj["scope"].embeddedObjectUserCheck().getOwned();
mapper.reset(new JSMapper(cmdObj["map"]));
reducer.reset(new JSReducer(cmdObj["reduce"]));
@@ -322,7 +322,7 @@ Config::Config(const string& _dbname, const BSONObj& cmdObj) {
finalizer.reset(new JSFinalizer(cmdObj["finalize"]));
if (cmdObj["mapparams"].type() == Array) {
- mapParams = cmdObj["mapparams"].embeddedObjectUserCheck();
+ mapParams = cmdObj["mapparams"].embeddedObjectUserCheck().getOwned();
}
}