2017-07-12 3 views
0

J'ai parcouru tous les blogs disponibles pour la bibliothèque ektrop et aussi le code source de la bibliothèque.J'ai trouvé que get (classe obj, String id) fonction est disponible mais si j'utilise cette fonction alors un seul document sera retourné selon l'id donné. Donc Je veux lire tous les documents changés présents dans le seau .Comment puis-je réaliser ceci.Merci à l'avance n'importe quelle aide serait appréciable .Comment trouver tous les documents dans couchDB en utilisant la bibliothèque ektrop

Répondre

0

Bonjour à tous j'ai la réponse à la question posée ci-dessus.Voici les étapes par lesquelles vous pouvez obtenir tous les documents ou tout simplement le résultat de _changes API est utilisé.

  1. Intégrez la bibliothèque Ektorp dans votre projet.
  2. Utilisez le code suivant pour obtenir tous les documents.

       HttpClient httpClient = new StdHttpClient.Builder() 
          .url("http://localhost:5984/") 
          .build(); 
        CouchDbInstance dbInstance = new StdCouchDbInstance(httpClient); 
        CouchDbConnector db = new StdCouchDbConnector("my_database", dbInstance); 
        ChangesCommand.Builder builder = new ChangesCommand.Builder(); 
        ChangesCommand changesCommand =builder.build() ; 
        List<DocumentChange> documentChangeList=db.changes(changesCommand); 
    
        for(int i=0;i<documentChangeList.size()-1;i++) { 
         System.out.println(documentChangeList.get(i).getId()); 
        } 
    
+1

Attention: Avec ce code, vous obtenez "tous les changements" ('_changes') un pas "tous les documents"(' _all_docs'). D'une certaine manière, le premier ensemble comprend le second ensemble. Mais, plus vos documents sont mis à jour, moins votre code sera efficace. –

+0

Merci pour la suggestion que j'ai mis à jour ma question désolé il y avait erreur en question. –

2

Vous cherchez probablement pour le point final de _all_docs.

ViewQuery q = new ViewQuery().allDocs().includeDocs(true); 

List<Sofa> bulkLoaded = db.queryView(q, Sofa.class); 

Vous trouverez des informations plus détaillées dans le api