Команда ReQL: binary
Синтаксис команды
r.binary(data) → binary
Описание
Инкапсулирует двоичные данные в запросе.
Тип данных binary зависит от языка клиента. В Java ожидается параметр типа byte[] (или запросы ReQL, возвращающие двоичные данные).
Двоичные объекты, возвращаемые клиенту в Java, также будут типами byte[]. Это можно изменить с помощью binary_format optArg, предоставляемого run, для возвращения «сырых» объектов.
Только ограниченный подмножество команд ReQL может быть прикреплено после binary:
-
coerceTo может преобразовывать объекты
binaryв типыstring - count вернет количество байтов в объекте
-
slice будет рассматривать байты как индексы массива (т.е.,
slice(10,20)вернёт байты с 10-го по 19-й) -
typeOf возвращает
PTYPE<BINARY> - info вернёт информацию о двоичном объекте.
Пример: Сохранение изображения аватара в существующую запись пользователя.
import java.nio.file.*;
Path path = Paths.get("./defaultAvatar.png");
byte[] avatarImage = Files.readAllBytes(path);
r.table("users").get(100).update(r.hashMap("avatar", avatarImage));
Пример: Получение размера существующего изображения аватара.
r.table("users").get(100)("avatar").count().run(conn);
// Result:
14156
Подробнее о поддержке двоичных объектов RethinkDB: Хранение двоичных объектов.
© RethinkDB contributors
Licensed under the Creative Commons Attribution-ShareAlike 3.0 Unported License.
https://rethinkdb.com/api/java/binary/