$geoIntersects (Interseção de Geometrias)

Última atualização: 2026-10-09

$geoIntersects (Interseção de Geometrias)

$geoIntersects encontra documentos cuja geometria GeoJSON intersecta a geometria fornecida. `{ loc: { $geoIntersects: { $geometry: { type: 'Polygon', coordinates: [...] } } } }`. Diferente de $geoWithin (ponto-em-área), $geoIntersects testa se duas geometrias — pontos, linhas ou polígonos — se intersectam. Exige um índice 2dsphere.

CategoriaGeoespacial
Versão do MongoDB2.4+
Idioma do Exemplomongosh (Shell)

📝 Sintaxe

{ <campo de localização>: { $geoIntersects: { $geometry: <geometria GeoJSON> } } }

⚙️ Parâmetros

campo de posiçãoO campo que armazena a localização.
geometria GeoJSONUm objeto GeoJSON: Point, LineString, Polygon, etc.

Retorno:Cursor dos documentos correspondentes

▶ Exemplo

Execute os comandos abaixo no seu mongosh local (requer um mongod em execução):

// $geoIntersects: paradas que intersectam uma rota
db.stops.find({
  loc: { $geoIntersects: {
    $geometry: { type: 'LineString', coordinates: [[0, 0], [1, 1]] }
  } }
})

Saída:

// Retorna paradas que intersectam a LineString (ex.: um ponto sobre o segmento)

📌 Notas

Mais casos práticos em breve.

📚 Tutoriais Relacionados

❓ Perguntas Frequentes

QComo $geoIntersects e $geoWithin se relacionam?
A$geoWithin é ponto-dentro-de-forma; $geoIntersects é interseção de geometrias — mais abrangente.
QUm ponto na fronteira do polígono pode corresponder?
ASim, a fronteira conta como interseção.
QQual índice $geoIntersects precisa?
AUm índice 2dsphere.
Web-Tutorial.com

Equipe Técnica Web-Tutorial

Uma plataforma de tutoriais mantida por diversos desenvolvedores. Cada tutorial é escrito e revisado por profissionais da área correspondente. Trabalhamos para manter nosso conteúdo preciso e confiável — se encontrar algum problema, avise-nos.

100%