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 Python, it expects a parameter of bytes
type. Using a bytes
object within a query implies the use of binary
and the ReQL driver will automatically perform the coercion (in Python 3 only).
Binary objects returned to the client in JavaScript will also be of the bytes
type. This can be changed with the binary_format
option provided to run to return “raw” objects.
Only a limited subset of ReQL commands may be chained after binary
:
-
coerce_to 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) -
type_of returns
PTYPE<BINARY>
- info will return information on a binary object.
Example: Save an avatar image to a existing user record.
f = open('./default_avatar.png', 'rb')
avatar_image = f.read()
f.close()
r.table('users').get(100).update({'avatar': r.binary(avatar_image)}).run(conn)
Example: Get the size of an existing avatar image.
r.table('users').get(100)['avatar'].count().run(conn)
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/python/binary/