IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

NoSQL Discussion :

CoucheDB + futon


Sujet :

NoSQL

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2012
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2012
    Messages : 45
    Points : 26
    Points
    26
    Par défaut CoucheDB + futon
    Bonjour,

    Je débute en NoSQL et j'utilise Futon. J'ai une question probablement simple pour vous. Je veux compter le nombre de fois que j'ai de valeur dans mot_cle (key France, Value 2). Je dois faire une map/reduce mais je ne vois pas comment faire pour accéder à mot_cle. Je sait que pour accéder à concepts, je dois faire cela

    function(doc) {
    emit(doc.concepts);
    }

    """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

    {
    "_id": "4bc140f928325cac0502202aa60005f0",
    "_rev": "6-d9b97565fff59494655527fe79fbdd6f",
    "type_info": "texte",
    "titre": "Guerre en Centrafrique",
    "auteur": "word",
    "concepts": [
    {
    "poids": 4,
    "mot_cle": "France"
    },
    {
    "poids": 5,
    "mot_cle": "France"
    },
    {
    "poids": 2,
    "mot_cle": "USA"
    },
    {
    "poids": 6,
    "mot_cle": "Afrique du Sud"
    }
    ]
    }

    Merci par avance,

    Nikolas

  2. #2
    Rédacteur

    Homme Profil pro
    Geek entrepreneur
    Inscrit en
    Novembre 2004
    Messages
    1 224
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Geek entrepreneur

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 224
    Points : 2 373
    Points
    2 373
    Par défaut
    tu veux compter le nombre d'occurences distinctes de mot_cle ?

    Ne connaissant pas correctement couchdb je vais me permettre de le faire en js :

    var map = function(doc) {
    for (var i =0 ; i< doc.concepts.length; i++) {
    emit(doc.concepts[i].mot_cle,1);
    }
    }

    et la fonction reduce qui se contente de calculer la somme des valeurs associés pour chaque clé émise :

    var reduce = function(key, values) {

    return values.reduce(function(a, b) {
    return a + b;
    });

    }

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2012
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2012
    Messages : 45
    Points : 26
    Points
    26
    Par défaut
    Bonjour,

    Merci hugo123

    J'ai trouvé la moitié de la solution c'est à dire la MAP mais il me manque le reduce !!

    function(doc) {
    var i;
    for (i=0; i<doc.concepts.length; i++){
    emit(doc.concepts[i].mot_cle)
    }
    }

    Nicolas

  4. #4
    Rédacteur

    Homme Profil pro
    Geek entrepreneur
    Inscrit en
    Novembre 2004
    Messages
    1 224
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Geek entrepreneur

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 224
    Points : 2 373
    Points
    2 373
    Par défaut
    J'ai mis les deux au dessus. T'as essayé ?

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo