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
binaryobjects tostringtypes - 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.
Get more help
Couldn't find what you were looking for?
- Ask a question on Stack Overflow
- Chat with us and our community on Slack
- Talk to the team on IRC on #rethinkdb@freenode.net — via Webchat
- Ping @rethinkdb on Twitter
- Post an issue on the documentation issue tracker on GitHub
Contribute: edit this page or open an issue