2011-09-27 4 views
4

J'ai une question simple, Comment puis-je récupérer les identifiants de document de tous les documents d'une base donnée dans couchdb?Récupère l'identifiant de document de tous les documents dans la base de données couchdb

J'ai écrit ce code qui récupère tous les documents-

 docs=CouchRest.get("http://localhost:5984/competency1/_all_docs?include_docs=true") 
    puts docs.to_json 

Le code ci-dessus affiche les détails de l'ensemble database.I veulent pouvoir inscrire seulement le document d'identité de.

J'apprécie vraiment votre aide.

Merci.

Répondre

10

De HTTP Document API sur la récupération de tous les documents:

Pour obtenir une liste de tous les documents dans une base de données, utilisez les URI spéciaux _all_docs. ... retourne une liste de tous les documents et leurs papiers d'identité de révision , ordonnée par DocID (sensible à la casse)

En d'autres termes, se /competency1/_all_docssans la partie ?include_docs=true. C'est la meilleure solution pour plusieurs raisons.

  1. Comme une map/reduce vue, il prend en charge limit, startkey, options de endkey`.
  2. Mais contrairement à une carte/réduire la vue, il n'utilise pas d'espace disque supplémentaire ou CPU.
  3. D'autres personnes (ou vous dans le futur) reconnaîtront immédiatement le but de cette requête.
+2

+1 Votre réponse est exacte. J'ai pris la liberté de le resserrer et d'énumérer quelques avantages. J'espère que ça ne vous dérange pas. – JasonSmith

+0

@JasonSmith Bien sûr, merci pour l'amélioration. – yojimbo87

Questions connexes