Получить данные из облачной базы данных с помощью Java Liberty (программа сервлета Java)

Я столкнулся с проблемой:

Проблема: необходимо получить последнее значение, вставленное в таблицу в облачной базе данных, с помощью Java Liberty (программа Java-сервлета). но я пишу программу, которая извлекает данные определенного идентификатора (код ниже). Мне нужно получить последнее значение, вставленное в облачную базу данных в приложении для 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();
   }
 }

Это скриншот таблицы в облачной базе данных


person Community    schedule 07.06.2017    source источник
comment
Что вы имеете в виду, получить программу?   -  person nitind    schedule 07.06.2017
comment
Вы пытаетесь получить последний идентификатор документа, чтобы увеличить его, и это увеличенное значение будет следующим идентификатором документа? Если это так, это не будет работать с cloudant. Если вы хотите атомарно увеличивать поля, вам нужно будет использовать другую технологию с облаком, например Redis.   -  person Chris Snow    schedule 07.06.2017
comment
Нет, мне нужно получить последнее значение, вставленное в базу данных, в приложение для Android.   -  person    schedule 07.06.2017


Ответы (1)


Чтобы получить последний измененный документ в базе данных, вам необходимо использовать ленту изменений. Документацию по ленте изменений можно найти здесь .

Вы также должны использовать параметр строки запроса since, чтобы не читать всю ленту изменений при каждом сделанном вами запросе.

person rhyshort    schedule 09.06.2017
comment
мне нужно получить последний документ, используя приложение свободы Java в Bluemix (программа сервлета Java), возможно ли это ?? - person ; 10.06.2017
comment
Я не знаком с этим приложением. Но как я сказал. Вы можете сделать запрос в ленту изменений. См. документацию для выбранной вами библиотеки, чтобы сделать это, или сделайте необработанный HTTP-запрос, чтобы позвонить в федерацию изменений. - person rhyshort; 10.06.2017