Filter
Filter( collection, lambda )
Filter( collection, lambda )
Filter( collection, lambda )
Filter( collection, lambda )
filter_expr( lambda, collection )
filter collection lambda
Filter( collection, lambda )
Filter( collection, lambda )
Description
The Filter
function applies the Lambda to
each member of the array and returns a new array containing only those
elements for which the lambda returns true
. Providing a lambda
function which does not return a boolean results in an "invalid
argument" error. If a page is passed, its decorated fields are
preserved in the result.
Examples
The query below iterates over the array containing the values 1, 2,
3, executing the lambda function for each value. The lambda function
returns true
if the Modulo 2 of the value
is 0, otherwise it returns false
.
curl https://db.fauna.com/ \
-u fnAChGwBcAACAO70ziE0cfROosNJHdgBmJU1PgpL: \
-d '{
"filter": {
"lambda": "i",
"expr": { "equals": [ 0, { "modulo": [ { "var": "i" }, 2 ] } ] }
},
"collection": [ 1, 2, 3 ]
}'
client.Query(
Filter(Arr(1, 2, 3), i => EqualsFn(0, Modulo(i, 2))));
System.out.println(
client.query(
Filter(
Arr(Value(1), Value(2), Value(3)),
Lambda(
Value("i"),
Equals(Value(0), Modulo(Var("i"), Value(2)))
)
)
).get());
result, _ := client.Query(
f.Filter(
f.Arr{1, 2, 3},
f.Lambda("i", f.Equals(0, f.Modulo(f.Var("i"), 2))),
),
)
fmt.Println(result)
client.query(
Filter(Arr(1, 2, 3), Lambda { i => Equals(0, Modulo(i, 2)) }))
client.query(
q.filter_expr(
lambda i: q.equals(0, q.modulo(i, 2)),
[1, 2, 3]
))
$client.query do
filter [1, 2, 3] do |i|
equals(0, modulo(i, 2))
end
end
client.query(
Filter(
collection: Arr(1, 2, 3),
with: { i in Equals(0, Modulo(i, 2)) }
)
)
client.query(
q.Filter([1, 2, 3], q.Lambda("i", q.Equals(0, q.Modulo(q.Var("i"), 2)))))
.then((ret) => console.log(ret));
HTTP/1.1 200 OK
{ "resource": [ 2 ] }
[ 2 ]
[2]
[2]
[ 2 ]
[ 2 ]
[ 2 ]
[ 2 ]
[ 2 ]
Was this article helpful?
We're sorry to hear that.
Tell us how we can improve!
documentation@fauna.com
Thank you for your feedback!