Spec-Zone.ru › RethinkDB javascript

Команда ReQL: binary

Синтаксис команды

r.binary(data) → binary

Описание

Оборачивает двоичные данные в запросе.

Тип данных binary зависит от языка клиента. В JavaScript ожидается объект Node.js Buffer. Использование объекта Buffer в запросе подразумевает использование binary и драйвер ReQL автоматически выполнит приведение типов.

Двоичные объекты, возвращаемые клиенту в JavaScript, также будут объектами Node.js Buffer. Это можно изменить с помощью опции binaryFormat, предоставленной команде run, для возврата «сырых» объектов.

Только ограниченный подмножество команд ReQL может быть использовано после binary:

  • coerceTo может привести объекты binary к типам string
  • count вернёт количество байтов в объекте
  • slice будет обрабатывать байты как индексы массива (т.е., slice(10,20) вернёт байты с 10 по 19)
  • typeOf возвращает PTYPE<BINARY>
  • info вернёт информацию о двоичном объекте.

Пример: Сохранение изображения аватара в существующей записи пользователя.

var fs = require('fs');
fs.readFile('./defaultAvatar.png', function (err, avatarImage) {
    if (err) {
        // Handle error
    }
    else {
        r.table('users').get(100).update({
            avatar: avatarImage
        })
    }
});

Пример: Получение размера существующего изображения аватара.

r.table('users').get(100)('avatar').count().run(conn, callback);
// result returned to callback
14156

Дополнительную информацию о поддержке двоичных объектов RethinkDB см. в разделе: Хранение двоичных объектов.

© RethinkDB contributors
Licensed under the Creative Commons Attribution-ShareAlike 3.0 Unported License.
https://rethinkdb.com/api/javascript/binary/

Spec-Zone.ru

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