Как я могу получить последний вставленный Counter_id из корзины Couchbase? - PullRequest
0 голосов
/ 06 июля 2018

Как я могу получить последний вставленный Counter_id из корзины Couchbase? Так что я могу увеличить значение с последнего вставленного идентификатора +1. Я использую Couchbase Java-клиент 2.5.5.

1 Ответ

0 голосов
/ 06 июля 2018

Чтобы выбрать наибольшее текущее значение поля counter_id в документах, хранящихся в тестовой корзине, вы можете выполнить этот запрос N1QL.

SELECT MAX(counter_id) FROM test

Затем добавить 1 к значению.

Проблема в том, что это не будет работать правильно, если у вас вообще есть какой-либо реалистичный параллелизм из-за чередования запросов.В этом случае, если вам просто нужны уникальные значения, я предлагаю вам использовать UUID, которые являются уникальными с высокой вероятностью.Я уверен, что в Java есть какая-то библиотека для генерации UUID;у него есть все остальное.

Если вы хотите сгенерировать UUID () из самого N1QL, вы можете сделать это тоже, используя функцию UUID ().

https://developer.couchbase.com/documentation/server/current/n1ql/n1ql-language-reference/metafun.html

Альтернативно,Вы можете использовать встречный документ, как описано здесь: https://blog.couchbase.com/using-autonumber-in-couchbase/

...