Maison > base de données > tutoriel mysql > MongoDB中MapReduce的应用

MongoDB中MapReduce的应用

WBOY
Libérer: 2016-06-07 17:10:13
original
923 Les gens l'ont consulté

在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];
  • Étiquettes associées:
    source:php.cn
    Déclaration de ce site Web
    Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
    Tutoriels populaires
    Plus>
    Derniers téléchargements
    Plus>
    effets Web
    Code source du site Web
    Matériel du site Web
    Modèle frontal