Heim > Datenbank > MySQL-Tutorial > MongoDB中MapReduce的应用

MongoDB中MapReduce的应用

WBOY
Freigeben: 2016-06-07 17:10:13
Original
923 Leute haben es durchsucht

在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];
  • Verwandte Etiketten:
    Quelle:php.cn
    Erklärung dieser Website
    Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
    Beliebte Tutorials
    Mehr>
    Neueste Downloads
    Mehr>
    Web-Effekte
    Quellcode der Website
    Website-Materialien
    Frontend-Vorlage