And

And(value_1, value_2, ...)
And(value_1, value_2, ...)
And(value_1, value_2, ...)
And(value_1, value_2, ...)
and_(value_1, value_2, ...)
And(value_1, value_2, ...)

Description

The And function computes the conjunction of a list of boolean values, returning true if all elements are "true", and false otherwise.

Prior to version 3.0.0, all items in the value list were evaluated. With version 3.0.0, evaluation is short-circuited when a false value is encountered. For example, a collection is no longer created with this query:

And(false, CreateCollection({ name: "test" }))
And does not support parameters that include objects, arrays, pages, sets, or expressions. The similar All function supports arrays, pages, and sets.

Parameters

Parameter Type Definition and Requirements

value

One or more Boolean values.

Returns

A Boolean value.

Examples

The following query returns false because the last argument is "false":

try
{
    Value result = await client.Query(
        And(true, true, false)
    );
    Console.WriteLine(result);
}
catch (Exception e)
{
    Console.WriteLine($"ERROR: {e.Message}");
}
BooleanV(False)
result, err := client.Query(
	f.And(true, true, false))

if err != nil {
	fmt.Fprintln(os.Stderr, err)
} else {
	fmt.Println(result)
}
false
System.out.println(
    client.query(
        And(Value(true), Value(true), Value(false))
    ).get());
false
client.query(
  q.And(true, true, false)
)
.then((ret) => console.log(ret))
.catch((err) => console.error(
  'Error: [%s] %s: %s',
  err.name,
  err.message,
  err.errors()[0].description,
))
false
result = client.query(
    q.and_(True, True, False)
)
print(result)
False
And(true, true, false)
false
Query metrics:
  •    bytesIn:  25

  •   bytesOut:  18

  • computeOps:   1

  •    readOps:   0

  •   writeOps:   0

  •  readBytes:   0

  • writeBytes:   0

  •  queryTime: 4ms

  •    retries:   0

Is this article helpful? 

Tell Fauna how the article can be improved:
Visit Fauna's forums or email docs@fauna.com

Thank you for your feedback!