Skip to content

Latest commit

 

History

History
53 lines (42 loc) · 1.67 KB

File metadata and controls

53 lines (42 loc) · 1.67 KB
layout api-command
language JavaScript
permalink api/javascript/includes/
command includes
io
geometry
bool
sequence
sequence
related_commands
intersects
intersects/

Command syntax

{% apibody %} sequence.includes(geometry) → sequence geometry.includes(geometry) → bool {% endapibody %}

Description

Tests whether a geometry object is completely contained within another. When applied to a sequence of geometry objects, includes acts as a filter, returning a sequence of objects from the sequence that include the argument.

Example: Is point2 included within a 2000-meter circle around point1?

var point1 = r.point(-117.220406,32.719464);
var point2 = r.point(-117.206201,32.725186);
r.circle(point1, 2000).includes(point2).run(conn, callback);
// result returned to callback 
true

Example: Which of the locations in a list of parks include circle1?

var circle1 = r.circle([-117.220406,32.719464], 10, {unit: 'mi'});
r.table('parks')('area').includes(circle1).run(conn, callback);

{% infobox %} The includes command cannot take advantage of a geospatial secondary index. If you're working with large data sets, consider using an index and getIntersecting before includes to narrow down the initial result set. {% endinfobox %}

Example: Rewrite the previous example with getIntersecting.

var circle1 = r.circle([-117.220406,32.719464], 10, {unit: 'mi'});
r.table('parks').getIntersecting(circle1, {index: 'area'})('area').
    includes(circle1).run(conn, callback);