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 
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.
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/