string map = @"
function() {
var view = this;
emit(view.activity, {pv: 1});
}";
string reduce = @"
function(key, values) {
var result = {pv: 0};
values.forEach(function(value){
result.pv += value.pv;
});
return result;
}";
string finalize = @"
function(key, value){
return value;
}";
{"_id" : ObjectId("59fa71d71fd59c3b2cd908d7"),"name" : "鲁迅","book" : "呐喊","price" : 38.0,"publisher" : "人民文学出版社"}
{"_id" : ObjectId("59fa71d71fd59c3b2cd908d8"),"name" : "曹雪芹","book" : "红楼梦","price" : 22.0,"publisher" : "人民文学出版社"}
{"_id" : ObjectId("59fa71d71fd59c3b2cd908d9"),"name" : "钱钟书","book" : "宋诗选注","price" : 99.0,"publisher" : "人民文学出版社"}
{"_id" : ObjectId("59fa71d71fd59c3b2cd908da"),"name" : "钱钟书","book" : "谈艺录","price" : 66.0,"publisher" : "三联书店"}
{"_id" : ObjectId("59fa71d71fd59c3b2cd908db"),"name" : "鲁迅","book" : "彷徨","price" : 55.0,"publisher" : "花城出版社"}
var map=function(){emit(this.name,this.price)}
var reduce=function(key,value){return Array.sum(value)}
var options={out:"totalPrice"}
db.sang_books.mapReduce(map,reduce,options);
db.totalPrice.find()
{
"_id" : "曹雪芹",
"value" : 22.0
}
{
"_id" : "钱钟书",
"value" : 165.0
}
{
"_id" : "鲁迅",
"value" : 93.0
}
var map=function(){emit(this.name,1)}
var reduce=function(key,value){return Array.sum(value)}
var options={out:"bookNum"}
db.sang_books.mapReduce(map,reduce,options);
db.bookNum.find()
{
"_id" : "曹雪芹",
"value" : 1.0
}
{
"_id" : "钱钟书",
"value" : 2.0
}
{
"_id" : "鲁迅",
"value" : 2.0
}
var map=function(){emit(this.name,this.book)}
var reduce=function(key,value){return value.join(',')}
var options={out:"books"}
db.sang_books.mapReduce(map,reduce,options);
db.books.find()
{
"_id" : "曹雪芹",
"value" : "红楼梦"
}
{
"_id" : "钱钟书",
"value" : "宋诗选注,谈艺录"
}
{
"_id" : "鲁迅",
"value" : "呐喊,彷徨"
}
var map=function(){emit(this.name,this.book)}
var reduce=function(key,value){return value.join(',')}
var options={query:{price:{$gt:40}},out:"books"}
db.sang_books.mapReduce(map,reduce,options);
db.books.find()
{
"_id" : "钱钟书",
"value" : "宋诗选注,谈艺录"
}
{
"_id" : "鲁迅",
"value" : "彷徨"
}
db.runCommand(
{
mapReduce: <collection>,
map: <function>,
reduce: <function>,
finalize: <function>,
out: <output>,
query: <document>,
sort: <document>,
limit: <number>,
scope: <document>,
jsMode: <boolean>,
verbose: <boolean>,
bypassDocumentValidation: <boolean>,
collation: <document>
}
)
| 参数 | 含义 |
|---|---|
| mapReduce | 表示要操作的集合 |
| map | map函数 |
| reduce | reduce函数 |
| finalize | 最终处理函数 |
| out | 输出的集合 |
| query | 对结果进行过滤 |
| sort | 对结果排序 |
| limit | 返回的结果数 |
| scope | 设置参数值,在这里设置的值在map、reduce、finalize函数中可见 |
| jsMode | 是否将map执行的中间数据由javascript对象转换成BSON对象,默认为false |
| verbose | 是否显示详细的时间统计信息 |
| bypassDocumentValidation | 是否绕过文档验证 |
| collation | 其他一些校对 |
var map=function(){emit(this.name,this.book)}
var reduce=function(key,value){return value.join(',')}
db.runCommand({mapreduce:'sang_books',map,reduce,out:"books",limit:4,verbose:true})
db.books.find()
{
"_id" : "曹雪芹",
"value" : "红楼梦"
}
{
"_id" : "钱钟书",
"value" : "宋诗选注,谈艺录"
}
{
"_id" : "鲁迅",
"value" : "呐喊"
}
var f1 = function(key,reduceValue){var obj={};obj.author=key;obj.books=reduceValue; return obj}
var map=function(){emit(this.name,this.book)}
var reduce=function(key,value){return value.join(',')}
db.runCommand({mapreduce:'sang_books',map,reduce,out:"books",finalize:f1})
db.books.find()
{
"_id" : "曹雪芹",
"value" : {
"author" : "曹雪芹",
"books" : "红楼梦"
}
}
{
"_id" : "钱钟书",
"value" : {
"author" : "钱钟书",
"books" : "宋诗选注,谈艺录"
}
}
{
"_id" : "鲁迅",
"value" : {
"author" : "鲁迅",
"books" : "呐喊,彷徨"
}
}
var f1 = function(key,reduceValue){var obj={};obj.author=key;obj.books=reduceValue;obj.sang=sang; return obj}
var map=function(){emit(this.name,this.book)}
var reduce=function(key,value){return value.join(',--'+sang+'--,')}
db.runCommand({mapreduce:'sang_books',map,reduce,out:"books",finalize:f1,scope:{sang:"haha"}})
db.books.find()
{
"_id" : "曹雪芹",
"value" : {
"author" : "曹雪芹",
"books" : "红楼梦",
"sang" : "haha"
}
}
{
"_id" : "钱钟书",
"value" : {
"author" : "钱钟书",
"books" : "宋诗选注,--haha--,谈艺录",
"sang" : "haha"
}
}
{
"_id" : "鲁迅",
"value" : {
"author" : "鲁迅",
"books" : "呐喊,--haha--,彷徨",
"sang" : "haha"
}
}
机械节能产品生产企业官网模板...
大气智能家居家具装修装饰类企业通用网站模板...
礼品公司网站模板
宽屏简约大气婚纱摄影影楼模板...
蓝白WAP手机综合医院类整站源码(独立后台)...苏ICP备2024110244号-2 苏公网安备32050702011978号 增值电信业务经营许可证编号:苏B2-20251499 | Copyright 2018 - 2025 源码网商城 (www.ymwmall.com) 版权所有