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