Команда ReQL: binary
Синтаксис команды
r.binary(data) → binary
Описание
Оборачивает двоичные данные в запросе.
Тип данных binary зависит от языка клиента. В Python ожидается параметр типа bytes. Использование объекта bytes в запросе подразумевает использование binary и драйвер ReQL автоматически выполнит приведение типов (только в Python 3).
Двоичные объекты, возвращаемые клиенту в JavaScript, также будут типа bytes. Это можно изменить с помощью параметра binary_format предоставленного в run для возврата «сырых» объектов.
Только ограниченный подмножество команд ReQL можно использовать после binary:
-
coerce_to может привести объекты
binaryк типамstring - count вернет количество байтов в объекте
-
slice будет рассматривать байты как индексы массива (например,
slice(10,20)вернёт байты с 10-го по 19-ый) -
type_of возвращает
PTYPE<BINARY> - info вернёт информацию о двоичном объекте.
Пример: Сохранение изображения аватара в существующей записи пользователя.
f = 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/python/binary/