ReQL command: binary
Command syntax
r.binary(data) → binary
Description
Encapsulate binary data within a query.
The type of data binary
accepts depends on the client language. In JavaScript, it expects a Node.js Buffer
. Using a Buffer
object within a query implies the use of binary
and the ReQL driver will automatically perform the coercion.
Binary objects returned to the client in JavaScript will also be Node.js Buffer
objects. This can be changed with the binaryFormat
option provided to run to return “raw” objects.
Only a limited subset of ReQL commands may be chained after binary
:
-
coerceTo can coerce
binary
objects tostring
types - count will return the number of bytes in the object
-
slice will treat bytes like array indexes (i.e.,
slice(10,20)
will return bytes 10–19) -
typeOf returns
PTYPE<BINARY>
- info will return information on a binary object.
Example: Save an avatar image to a existing user record.
var fs = require('fs');
fs.readFile('./defaultAvatar.png', function (err, avatarImage) {
if (err) {
// Handle error
}
else {
r.table('users').get(100).update({
avatar: avatarImage
})
}
});
Example: Get the size of an existing avatar image.
r.table('users').get(100)('avatar').count().run(conn, callback);
// result returned to callback
14156
Read more details about RethinkDB’s binary object support: Storing binary objects.
© RethinkDB contributors
Licensed under the Creative Commons Attribution-ShareAlike 3.0 Unported License.
https://rethinkdb.com/api/javascript/binary/