Команда ReQL: binary
Синтаксис команды
r.binary(data) → binary
Описание
Инкапсулирует двоичные данные в запросе.
Тип данных binary зависит от языка клиента. В Ruby ожидается объект String.
Двоичные объекты, возвращаемые клиенту в JavaScript, также будут типа String. Это можно изменить с помощью параметра binary_format, предоставленного команде run, для возвращения «сырых» объектов.
Только ограниченный подмножество команд ReQL может быть использовано после binary:
-
coerce_to может преобразовать объекты
binaryв типыstring - count вернёт количество байтов в объекте
-
slice будет рассматривать байты как индексы массива (т.е.,
slice(10,20)вернёт байты с 10-го по 19-ый) -
type_of возвращает
PTYPE<BINARY> - info вернёт информацию о двоичном объекте.
Пример: Сохранение изображения аватара в существующую запись пользователя.
f = File.open('./default_avatar.png', 'rb')
avatar_image = f.read()
f.close()
r.table('users').get(100).update({:avatar => r.binary(avatar_image)}).run(conn)
Пример: Получение размера существующего изображения аватара.
r.table('users').get(100)['avatar'].count().run(conn)
14156
Подробнее об обработке двоичных объектов в RethinkDB: Хранение двоичных объектов.
© RethinkDB contributors
Licensed under the Creative Commons Attribution-ShareAlike 3.0 Unported License.
https://rethinkdb.com/api/ruby/binary/