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 Java, it expects a parameter of byte[]
type (or ReQL queries that return binary data).
Binary objects returned to the client in Java will also be byte[]
types. This can be changed with the binary_format
optArg 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.
import java.nio.file.*;
Path path = Paths.get("./defaultAvatar.png");
byte[] avatarImage = Files.readAllBytes(path);
r.table("users").get(100).update(r.hashMap("avatar", avatarImage));
Example: Get the size of an existing avatar image.
r.table("users").get(100)("avatar").count().run(conn);
// Result:
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/java/binary/