Как включить ПК при выборе AQL?
Пример:
ВЫБЕРИТЕ * из test.users
Возвращает:
Имя, Фамилия и т.д.
Что я действительно хочу знать, так это ПК или ключ, чтобы я мог удалить строку. Как я могу включить PK в инструкцию SELECT AQL.
Как включить ПК при выборе AQL?
Пример:
ВЫБЕРИТЕ * из test.users
Возвращает:
Имя, Фамилия и т.д.
Что я действительно хочу знать, так это ПК или ключ, чтобы я мог удалить строку. Как я могу включить PK в инструкцию SELECT AQL.
По умолчанию Aerospike не хранит фактический первичный ключ в базе данных. По умолчанию он хранит 20-байтовый дайджест (хэш ключа). Это будет огромная экономия для больших ключей. Однако в последней версии это можно изменить с помощью операции put() для сохранения ключа. Но клиент AQL еще не улучшен, чтобы использовать этот факт. Я зарегистрирую внутренний билет для этого улучшения.
В это время...
Чтобы УДАЛИТЬ данные из наборов. Чтобы удалить запись из набора, вы можете использовать API scanAll, который выполняет итерацию по всем записям и удаляет их. Во время вызова scanCallback он получает дайджест-ключ для каждой записи и удаляет. Вот реферальная ссылка
http://www.aerospike.com/community/labs/deleting_sets_and_data.html
После того, как мы расширили функциональность получения первичного индекса через AQL, вы можете получить ключ первичного индекса, который вы создали, но убедитесь, что вы сохранили ключ, вызвав атрибут sendKey класса WritePolicy. . SendKey отправляет определяемый пользователем ключ в дополнение к хеш-дайджесту при установке записи. По умолчанию не отправляется.
Альтернативное решение
создайте дополнительную корзину, чтобы сохранить первичный ключ и проиндексировать его. Затем вы можете получить этот первичный ключ с помощью инструкции AQL.