2017-06-07 1 views
0

Je suis face à problème:Récupérer les données de base de données cloudant en utilisant la liberté java (programme de servlet java)

Problème: Besoin d'obtenir la dernière valeur insérée dans une table dans la base de données cloudant en utilisant la liberté java (programme de servlet java). mais je writea programme qui récupère les données d'un identifiant spécifique. (code ci-dessous), je dois obtenir la dernière valeur insérée dans la base de données cloudant dans une application Android

@Resource(name = "couchdb/myCloudant") 
protected CouchDbInstance mydb ; 


@Override 
protected void doGet(HttpServletRequest request, HttpServletResponse response) 
     throws ServletException, IOException { 

    String dbname1 = "Tempdb"; 
    String dbname2 = "pulsedb"; 

    try { 

    CouchDbConnector dbconnector1 = mydb.createConnector(dbname1, true); 


      InputStream s1 = dbconnector1.getAsStream("2"); 
    // here passing the id 2 in cloudant this will return the document of id 2 

      BufferedReader reader1 = new BufferedReader(new InputStreamReader(s1)); 
      StringBuilder out1 = new StringBuilder(); 
      String line1; 
      while ((line1 = reader1.readLine()) != null) { 
       out1.append(line1); 
      } 
      // response.getWriter().print(); 
      String ss1 = out1.toString(); 
    } 
} 

This the screenshot of table in cloudant database

+2

Que voulez-vous dire par «obtenir un programme»? – nitind

+0

Essayez-vous d'obtenir le dernier identifiant de document pour pouvoir l'incrémenter et cette valeur incrémentée sera l'identifiant de document suivant? Si c'est le cas, cela ne fonctionnera pas avec cloudant. Si vous souhaitez incrémenter des champs de manière atomique, vous devrez utiliser une autre technologie avec un cloud tel que redis. –

+0

Non, j'ai besoin d'obtenir la dernière valeur insérée dans la base de données à une application Android – nithin

Répondre

0

Pour obtenir le dernier document modifié dans la base de données, vous devez utiliser le flux de modifications. Vous pouvez trouver la documentation pour le flux de modifications here.

Vous devez également utiliser le paramètre de chaîne de requête since, afin de ne pas lire l'intégralité du flux de modifications sur chaque requête que vous effectuez.

+0

J'ai besoin d'obtenir le dernier document en utilisant l'application Java Liberty dans Bluemix (programme Java servlet) est-il possible? – nithin

+0

Je ne suis pas familier avec cette application. Mais comme je l'ai dit. Vous pouvez faire une demande au flux de modifications. Consultez la documentation de la bibliothèque de votre choix pour ce faire ou faites une requête HTTP brute pour appeler les Feds. – rhyshort