Spec-Zone.ru › RethinkDB python

Команда 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/

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API