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 collection
and returns a new collection of the same type 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.
Parameters
Argument | Type | Definition and Requirements |
---|---|---|
|
Collection |
The target collection over which the |
|
The anonymous function to be executed which must return a boolean. |
Examples
The query below iterates over the collection 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!