powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Редактирование документа в БД из кода
2 сообщений из 2, страница 1 из 1
Редактирование документа в БД из кода
    #38855478
Tom Hardy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте, работаю с БД CouchBase - я думаю из вас с ней никто плотно не работал, но тут вопрос больше в целом по Java, надеюсь посмотрите и подскажите.
В БД более 100.000 документов в формате JSON, во всех есть строчка "flag": false.
Необходимо создать сервлет, который бы менял во всех доках эту строку на "flag":true.

Не понимаю как это сделать, получилось сделать выборку документов со строкой "flag": false:

Код: javascript
1.
2.
3.
4.
5.
function (doc, meta) {  
    if (meta.type == "json" && doc.flag == false) {        //выборка в CouchBase через JavaScript прям в панеле
        emit(doc.flag, null);                                          //попробовал добавить в тело if  doc.flag = true - но не помогло)
    }
}



Сервлет, который печатает документ

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
doGet(....
View view = client.getView("des1", "flag");
Query query = new Query();
query.setIncludeDocs(true);
ViewResponse result = client.query(view, query);
for(ViewRow row : result) {
  resp.getWriter().println(row.getDocument());  
}



В результате печатает текст документа
Код: java
1.
{"time":"2014.12.16 21:10:32.076+0300","data":...."flag":true}
...
Рейтинг: 0 / 0
Редактирование документа в БД из кода
    #38856703
Фотография Dmitry.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в javascript

Код: javascript
1.
2.
var doc={"time":new Date(),"flag":true};
alert(doc.flag);



покажет `true`

т.е. разбирайся

----

в жаве

если row.getDocument() возвращает строку, то тебе его надо преобразовать в JSON объект

сходу нашел класс
http://www.couchbase.com/autodocs/couchbase-java-client-2.0.0-beta/com/couchbase/client/java/transcoder/JsonTranscoder.html

Код: java
1.
JsonTranscoder.stringToJsonObject(  row.getDocument() ).	getBoolean("flag");



дальше дело техники
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Редактирование документа в БД из кода
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]