Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

568
Vistas
No se pueden extraer claves geográficas, la longitud/latitud está fuera de los límites

Trabajando con MongoDB 2dsphere para almacenar GEOJSON y en ciertas tiendas de lat/lng sigo recibiendo el siguiente error:

 { "code": 16755, "index": 0, "errmsg": "Can't extract geo keys: { _id: ObjectId('586ff135b79aa00b84181bfb'), name: \"Austin\", slug: \"Austin\", description: \"\", twitter: \"\", facebook: \"\", instagram: \"\", author: ObjectId('57b60fed8620b56af460d5c5'), tags: [], created: new Date(1483731253640), location: { address: \"Austin, TX, United States\", coordinates: [ 30.267153, -97.74306079999997 ], type: \"Point\" }, __v: 0 } longitude/latitude is out of bounds, lng: 30.2672 lat: -97.7431", "op": { "name": "Austin", "slug": "Austin", "description": "", "twitter": "", "facebook": "", "instagram": "", "author": "57b60fed8620b56af460d5c5", "_id": "586ff135b79aa00b84181bfb", "tags": [ ], "created": "2017-01-06T19:34:13.640Z", "location": { "address": "Austin, TX, United States", "coordinates": [ 30.267153, -97.74306079999997 ], "type": "Point" }, "__v": 0 } }

Parece que no puedo entender por qué no le gustan algunas coordenadas lat/lng.

Aquí está mi esquema para el campo de ubicación:

 location: { type: { type: String, default: 'Point' }, coordinates: [Number], address: String },

y está indexado como 2dsphere :

storeSchema.index({ location: '2dsphere' });

Lo único extraño que puedo ver es que el mensaje de error:

longitude/latitude is out of bounds, lng: 30.2672 lat: -97.7431",

el lat/lng se acorta de lo que ingresé, no estoy seguro de si eso tiene algo que ver con eso.

over 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

Oh, vaya, no estoy seguro de quién decidió esto, pero Mongodb espera que almacene como [lng, lat] , no [lat,lng] como todo lo demás en este mundo.

:|

over 4 years ago · Santiago Trujillo Denunciar

0

Así es como solucioné el problema sin tener que cambiar la secuencia [lat,lng] .

En algún lugar de su código, está haciendo una llamada para ensureIndex . En lugar de llamar (como estaba haciendo anteriormente)...

 collection.ensureIndex({ "location": "2dsphere" });

Utilice lo siguiente en su lugar...

 collection.ensureIndex({ "location.coordinates":"2d"});

Esto eliminó por completo el error en tiempo de ejecución y no se necesitó una refactorización masiva de datos.

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda