Back to top

    ReQL command: |, or

    Command syntax

    bool | bool → bool

    bool.or([bool, bool, ...]) → bool

    r.or([bool, bool, ...]) → bool

    Description

    Compute the logical “or” of one or more values.

    The or command can be used as an infix operator after its first argument (r.expr(true).or(false)) or given all of its arguments as parameters (r.or(true, false)). The standard Ruby or operator, |, may also be used with ReQL.

    Calling or with zero arguments will return false.

    Example: Return whether either a or b evaluate to true.

    > a = true
    > b = false
    > (r.expr(a) | b).run(conn)
    
    true
    

    Example: Return whether any of x, y or z evaluate to true.

    > x = false
    > y = false
    > z = false
    > r.or(x, y, z).run(conn)
    
    false
    

    Note: When using or inside a filter predicate to test the values of fields that may not exist on the documents being tested, you should use the default command with those fields so they explicitly return false.

    r.table('posts').filter { |post|
        post['category'].default('foo').eq('article').
        or(post['genre'].default('foo').eq('mystery'))
    }.run(conn)
    

    Get more help

    Couldn't find what you were looking for?