首頁 > 資料庫 > mysql教程 > MongoDB中MapReduce的应用

MongoDB中MapReduce的应用

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
發布: 2016-06-07 17:10:13
原創
949 人瀏覽過

在MongoDB中可以使用MapReduce进行一些复杂的聚合查询 Map函数和Reduce函数可以使用JavaScript来实现 可以通过db.runCommand或ma

在MongoDB中可以使用MapReduce进行一些复杂的聚合查询

Map函数和Reduce函数可以使用JavaScript来实现

可以通过db.runCommand或mapReduce命令来执行一个MapReduce的操作:

  • db.runCommand(
  • [, verbose : true]
  • }
  • );
  • #或者使用一个包装后的Helper命令
  • db.collection.mapReduce(mapfunction,reducefunction[,options]);
  • 如果没有定义out,则它执行后默认生成一个临时的collection,当client连接断开后,该collection会自动被清除

    一个简单的列子,有一个user_addr的collection,结果如下:

  • db.user_addr.find({'Uid':'test@sohu.com'})
  • { "_id" : ObjectId("4bbde0bf600ac3c3cc7245e3"), "Uid" : "yangsong@sohu.com", "Al" : [
  • {
  • "Nn" : "test-1",
  • "Em" : "test-1@sohu.com",
  • },
  • {
  • "Nn" : "test-2",
  • "Em" : "test-2@sohu.com",
  • },
  • {
  • "Nn" : "test-3",
  • "Em" : "test-3@sohu.com",
  • }
  • ] }
  • 存储了一个用户(Uid)对应的联系人信息(Al),现在要查询每个Em联系人对应的数目,则建立如下的MapReduce

  • for (index in this.Al) {
  • emit(this.Al[index].Em, 1);
  • }
  • }
  • for (index in vals) {
  • sum += vals[index];
  • 相關標籤:
    本網站聲明
    本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
    最新問題
    mongodb 外網IP啟動失敗
    來自於 1970-01-01 08:00:00
    0
    0
    0
    如何學習MongoDB?
    來自於 1970-01-01 08:00:00
    0
    0
    0
    mongodb啟動
    來自於 1970-01-01 08:00:00
    0
    0
    0
    linux - ubuntu14安裝mongodb出錯
    來自於 1970-01-01 08:00:00
    0
    0
    0
    熱門教學
    更多>
    最新下載
    更多>
    網站特效
    網站源碼
    網站素材
    前端模板