FILTER operation is used to filter the documents.
Syntax
FOR doc IN collection_name FILTER condition RETURN doc
Let’s experiment with following users collection.
127.0.0.1:8529@abc_org> db.users.toArray() [ { "_key" : "41688", "_id" : "users/41688", "_rev" : "_cSA6tje--A", "id" : 3, "firstName" : "Madhu", "lastName" : "Thatha" }, { "_key" : "41308", "_id" : "users/41308", "_rev" : "_cSBTpJC---", "country" : "India", "firstName" : "Gopi" }, { "_key" : "43460", "_id" : "users/43460", "_rev" : "_cSBlsQe---", "firstName" : "Ram", "lastName" : "Gurram", "age" : 35 }, { "_key" : "43468", "_id" : "users/43468", "_rev" : "_cSBl3BW---", "firstName" : "Siva", "lastName" : "Ponnam", "age" : 35 }, { "_key" : "43482", "_id" : "users/43482", "_rev" : "_cSBmJqO---", "firstName" : "Joel", "lastName" : "Chelli", "age" : 34 }, { "_key" : "43490", "_id" : "users/43490", "_rev" : "_cSBmXxW---", "firstName" : "Jessi", "lastName" : "Chelli", "age" : 36 } ]
Example 1: Find all users whose lastName is Chelli.
queryToExecute = `FOR doc IN users FILTER doc.lastName == "Chelli" RETURN doc`
127.0.0.1:8529@abc_org> queryToExecute = `FOR doc IN users ...> FILTER doc.lastName == "Chelli" ...> RETURN doc` FOR doc IN users FILTER doc.lastName == "Chelli" RETURN doc 127.0.0.1:8529@abc_org> 127.0.0.1:8529@abc_org> db._query(queryToExecute) [object ArangoQueryCursor, count: 2, cached: false, hasMore: false] [ { "_key" : "43482", "_id" : "users/43482", "_rev" : "_cSBmJqO---", "firstName" : "Joel", "lastName" : "Chelli", "age" : 34 }, { "_key" : "43490", "_id" : "users/43490", "_rev" : "_cSBmXxW---", "firstName" : "Jessi", "lastName" : "Chelli", "age" : 36 } ]
Example 2: Get all the documents whose lastName is Chelli and firstName is Joel.
queryToExecute = `FOR doc IN users FILTER doc.firstName == "Joel" AND doc.lastName == "Chelli" RETURN doc`
127.0.0.1:8529@abc_org> queryToExecute = `FOR doc IN users ...> FILTER doc.firstName == "Joel" AND doc.lastName == "Chelli" ...> RETURN doc` FOR doc IN users FILTER doc.firstName == "Joel" AND doc.lastName == "Chelli" RETURN doc 127.0.0.1:8529@abc_org> db._query(queryToExecute) [object ArangoQueryCursor, count: 1, cached: false, hasMore: false] [ { "_key" : "43482", "_id" : "users/43482", "_rev" : "_cSBmJqO---", "firstName" : "Joel", "lastName" : "Chelli", "age" : 34 } ]
Example 3: Find all users whose lastName is Chelli or Gurram.
queryToExecute = `FOR doc IN users FILTER doc.lastName == "Gurram" OR doc.lastName == "Chelli" RETURN doc`
127.0.0.1:8529@abc_org> queryToExecute = `FOR doc IN users ...> FILTER doc.lastName == "Gurram" OR doc.lastName == "Chelli" ...> RETURN doc` FOR doc IN users FILTER doc.lastName == "Gurram" OR doc.lastName == "Chelli" RETURN doc 127.0.0.1:8529@abc_org> 127.0.0.1:8529@abc_org> db._query(queryToExecute) [object ArangoQueryCursor, count: 3, cached: false, hasMore: false] [ { "_key" : "43460", "_id" : "users/43460", "_rev" : "_cSBlsQe---", "firstName" : "Ram", "lastName" : "Gurram", "age" : 35 }, { "_key" : "43482", "_id" : "users/43482", "_rev" : "_cSBmJqO---", "firstName" : "Joel", "lastName" : "Chelli", "age" : 34 }, { "_key" : "43490", "_id" : "users/43490", "_rev" : "_cSBmXxW---", "firstName" : "Jessi", "lastName" : "Chelli", "age" : 36 } ]
Example 4: Find all users whose age is > 35.
queryToExecute = `FOR doc IN users FILTER doc.age > 35 RETURN doc`
127.0.0.1:8529@abc_org> queryToExecute = `FOR doc IN users ...> FILTER doc.age > 35 ...> RETURN doc` FOR doc IN users FILTER doc.age > 35 RETURN doc 127.0.0.1:8529@abc_org> db._query(queryToExecute) [object ArangoQueryCursor, count: 1, cached: false, hasMore: false] [ { "_key" : "43490", "_id" : "users/43490", "_rev" : "_cSBmXxW---", "firstName" : "Jessi", "lastName" : "Chelli", "age" : 36 } ]
No comments:
Post a Comment