couchdb-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Apache Wiki <wikidi...@apache.org>
Subject [Couchdb Wiki] Update of "ApiVueHttp" by alexis_m
Date Sat, 19 Dec 2009 22:06:30 GMT
Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Couchdb Wiki" for change notification.

The "ApiVueHttp" page has been changed by alexis_m.
http://wiki.apache.org/couchdb/ApiVueHttp?action=diff&rev1=6&rev2=7

--------------------------------------------------

  #language fr
- 
  Introduction sur l'API vue HTTP de CouchDB.
  
  == Bases ==
- 
  Les vues sont l'outil de base pour interroger et reporter des documents CouchDB.
  
  Les vues sont définies avec des fonctions Javascript. Voici une fonction très simple :
@@ -15, +13 @@

    emit(null, doc);
  }
  }}}
- 
  Voir [[Vues]] pour plus d'informations.
  
  == Créer des vues ==
- 
  Pour créer une vue permanente, les fonctions doivent d'abord être sauvées dans des docummens
spéciaux appelés ''documents design''. L'ID de ces documents doit commmencer par ''_design/''
et ces documents doivent avoir des attributs spécifiques contenant un membre ''map'' et optionnellement
un membre ''reduce'' pour contenir les fonctions de vues. Toutes les vues dans un document
design sont indexées à chaque fois qu'elles sont interrogées.
  
  Un document design qui définit les vues ''all'', ''by_lastname'', et ''total_purchases''
peut ressembler à cela:
@@ -44, +40 @@

    }
  }
  }}}
- 
  La propriété ''language'' indique à CouchDB le langage des fonctions de vue, ce qui est
utilisé pour sélectionnner le ServeurDeVue approprié (définit dans le fichier couch.ini).
Par défaut CouchDB utilise Javascript, et cette propriété peut donc être omise pour les
vues Javascript.
  
  == Modifier/Changer les Vues ==
- 
  Pour changer une vue ou plusieurs vues, modifiez juste le document (voir ApiDocumentHttp)
où elles sont stockées et enregistrez une nouvelle révision.
  
  == Accéder/Interroger ==
- 
  Une fois que ce document est enregistré dans la bales, alors la vue ''all'' peut être
récupérée sur l'URL :
  
-   http://localhost:5984/ma_bd/_view/company/all
+  . http://localhost:5984/ma_bd/_view/company/all
  
  Exemple :
  
@@ -63, +56 @@

  GET /ma_bd/_view/company/all HTTP/1.0
  Date: Thu, 17 Aug 2006 05:39:28 +0000GMT
  }}}
- 
  Ce qui entraine la réponse suivant :
  
  {{{
@@ -107, +99 @@

      ]
   }
  }}}
- 
  == Vues Ad Hoc ==
- 
  Les requêtes temporaires (ex. les vues que vous ne souhaitez pas enregistrer dans CouchDB)
peuvent être réalisées à travers la vue spéciale ''_temp_view'' :
  
  {{{
@@ -121, +111 @@

  {
    "map" : "function(doc) { if (doc.foo=='bar') { emit(null, doc.foo); } }"
  }
- 
  }}}
- 
  Pouvant entraîner la réponse suivante :
  
  {{{
@@ -138, +126 @@

    ]
  }
  }}}
- 
  == Options de requêtes ==
- 
  Les colonnes peuvent être une suite de valeur, il n'y a pas de limites au nombre de valeurs
ou sur le volume des données que peuvent contenir les colonnes.
  
  Les options suivantes peuvent être passées à l'URL de la requête :
  
-   * key=valeurdeclé
+  * key=valeurdeclé
-   * startkey=valeurdeclé
+  * startkey=valeurdeclé
-   * startkey_docid=docid
+  * startkey_docid=docid
-   * endkey=valeurdeclé
+  * endkey=valeurdeclé
-   * count=nombre de lignes maximum à retourner
+  * count=nombre de lignes maximum à retourner
-   * update=false
+  * update=false
-   * descending=true
+  * descending=true
-   * skip=lignes à passer
+  * skip=lignes à passer
  
  ''key'', ''startkey'', et ''endkey''  doivent être des valeurs codées en JSON (par exemple,
startkey="chaine" pour une valeur de chaine(string)).
  
  Si vous spécifiez ''?count=0'', vous ne récupererez pas les données mais les métadonnées
de cette vue. Le nombre de documents dans cette vue par exemple. Si ''count'' est renseigné
avec une valeur négative, vous recevrez autant de documents avant ''startkey''.
  
- le paramètre ''skip'' devrait être seulement utilisé pour un petit nombre de valeurs,
passer un grand nombre de documents de cette façon n'est pas efficient (il parcourt l'index
à partir de startkey et passe N documents mais nécessite quand même de lire tout l'index
pour le faire). Pour une pagination éfficiente, utilisez ''startkey'' et/ou ''startkey_docid''.
+ le paramètre ''skip'' devrait être seulement utilisé pour un petit nombre de valeurs,
passer un grand nombre de documents de cette façon n'est pas efficace (couchdb parcourt alors
l'index à partir de startkey, passe les N premiers documents mais nécessite quand même
de lire tout l'index pour le faire). Pour une pagination efficace, utilisez ''startkey'' et/ou
''startkey_docid''.
  
- L'option ''update'' peut être utilisée pour accroître les performances avec la possibilité
de ne pas récupérer les derniers enregistrements. Si vous mettez ''update'' à ''false'',
CouchDB ne mettra pas à jour la vue.
+ L'option ''update'', positionée à ''false'', permet de ne pas récupérer les dernieres
modifications de la vue. Cela peut être utilisée pour accroître les performances.
  
- Les lignes de la vue sont triées par clé, spécifier ''descending=true'' inversera l'ordre.
Attention l'option ''descending'' est appliquée avant tout filtrage des clés, vous pourrez
donc avoir besoin de déplacer les valeurs des options ''startkey'' et ''endkey'' pour récupérer
le résultat attendu. Le tri est décrit dans AssemblageVue.
+ Les lignes de la vue sont triées par clé. Spécifier ''descending=true'' inversera l'ordre.
L'option ''descending'' est appliquée '''avant''' tout filtrage des clés, il est donc parfois
necessaire de modifier les valeurs des options ''startkey'' et ''endkey'' pour récupérer
le résultat attendu. Pour plus d'information sur le tri, reportez vous à la page AssemblageVue.
  
  == Traquer un problème dans les vues ==
+ Lors de la création des vues, CouchDB vérifie la syntaxe JSON, mais la syntaxe des fonctions
de vue en elle même n'est pas vérifiée par l'interpréteur Javascript. Si l'une des vues
possède des erreurs de syntaxes, aucune des autres fonctions dans le document design ne sera
exécutée. Il est par contre possible de tester vos fonctions dans une vue temporaire avant
de les sauver dans la base.
  
- Lors de la création des vues, CouchDB vérifie la syntaxe JSON, mais la syntaxe des fonctions
de vue en elles mêmes n'est pas vérifiée par l'interpréteur Javascript. Si l'une des vues
possède des erreurs de syntaxes, aucune des autres fonctions dans le document design ne sera
exécutée. Mais vous pouvez tester vos fonctions dans une vue temporaire avant de les sauver
dans la base.
- 
- Depuis la révision r660140, une fonction ''log'' est disponible dans les vues, qui enregistre
dans couch.log. Cela peut être utile pendant la résolution de problèmes mais peut coûter
en performances. C'est donc à utiliser avce parcimmonie sur un système en production.
+ Depuis la révision r660140, une fonction ''log'' est disponible dans les vues, qui enregistre
dans couch.log. Cela peut être utile pendant la résolution de problèmes mais peut coûter
en performances. C'est donc à utiliser avec parcimonie sur un système en production.
  
  {{{
  {

Mime
View raw message