使用MongoVUE对MongoDB 进行MapReduce操作步骤
时间:2022-03-13 22:38
Step 1
Open MongoVUE and connect to the server that contains the collection “cities”
This completes our tutorial. You can check the Learn Shell toolbox, it displays the following command.
db.runCommand({ mapreduce: cities, map : function Map() { var key = this.CountryID; emit(key, { "data": [ { "name" : this.City, "lat" : this.Latitude, "lon" : this.Longitude } ] }); } reduce : function Reduce(key, values) { var reduced = {"data":[]}; for (var i in values) { var inter = values[i]; for (var j in inter.data) { reduced.data.push(inter.data[j]); } } return reduced; } finalize : function Finalize(key, reduced) { if (reduced.data.length == 1) { return { "message" : "This Country contains only 1 City" }; } var min_dist = 999999999999; var city1 = { "name": "" }; var city2 = { "name": "" }; var c1; var c2; var d; for (var i in reduced.data) { for (var j in reduced.data) { if (i>=j) continue; c1 = reduced.data[i]; c2 = reduced.data[j]; d = Math.sqrt((c1.lat-c2.lat)*(c1.lat-c2.lat)+(c1.lon-c2.lon)*(c1.lon-c2.lon)); if (d < min_dist && d > 0) { min_dist = d; city1 = c1; city2 = c2; } } } return {"city1": city1.name, "city2": city2.name, "dist": min_dist}; } query : { "CountryID" : { "$ne" : 254 } } out : { inline : 1 } }); from:http://www.mongovue.com/2011/04/05/how-to-perform-mapreduce-operations-in-mongov
使用MongoVUE对MongoDB 进行MapReduce操作步骤,布布扣,bubuko.com