Back to top

    ReQL command: coerce_to

    Command syntax

    sequence.coerce_to('array') → array

    value.coerce_to('string') → string

    string.coerce_to('number') → number

    array.coerce_to('object') → object

    sequence.coerce_to('object') → object

    object.coerce_to('array') → array

    binary.coerce_to('string') → string

    string.coerce_to('binary') → binary

    Description

    Convert a value of one type into another.

    • a sequence, selection or object can be coerced to an array
    • a sequence, selection or an array of key-value pairs can be coerced to an object
    • a string can be coerced to a number
    • any datum (single value) can be coerced to a string
    • a binary object can be coerced to a string and vice-versa

    Example: Coerce a stream to an array to store its output in a field. (A stream cannot be stored in a field directly.)

    r.table('posts').map(lambda post: post.merge(
        { 'comments': r.table('comments').get_all(post['id'], index='post_id').coerce_to('array') }
    )).run(conn)
    

    Example: Coerce an array of pairs into an object.

    r.expr([['name', 'Ironman'], ['victories', 2000]]).coerce_to('object').run(conn)
    

    Note: To coerce a list of key-value pairs like ['name', 'Ironman', 'victories', 2000] to an object, use the object command.

    Example: Coerce a number to a string.

    r.expr(1).coerce_to('string').run(conn)
    

    Get more help

    Couldn't find what you were looking for?