Entiendo que Google AppEngine solo admite un filtro de desigualdad por consulta. ¿Cuál es la solución a esta limitación? ¿Hay alguna solución que proporcione un efecto similar?Filtro de desigualdad en AppEngine Datastore
Respuesta
Si hay una solución para tener un solo filtro de desigualdad por consulta depende del tipo de conjunto de datos que está consultando.
Por ejemplo, si desea consultar datos posicionales utilizando una dirección de latitud y longitud, normalmente deberá consultar un rango de valores en dos propiedades (lat y long). Sin embargo, con un algoritmo geohash puede realizar una consulta equivalente utilizando solo una propiedad.
Actualmente, GAE admite filtros de desigualdad múltiples siempre que sean on the same property.
Las soluciones a esta limitación son específicas de los datos, p. depende de cómo estén estructurados sus datos y de cómo quiera consultarlos. Por ejemplo, para la búsqueda geográfica, como se mencionó en @Dan Holevoet, existen varios algoritmos de geo hash. Básicamente, todos estos algoritmos implican la combinación de múltiples propiedades en una y al mismo tiempo la cuantificación de la propiedad (creación de valores discretos). Por ejemplo, la geo-hash implica dividir el mapa del mundo en pequeñas áreas de tamaño fijo (= combinar lat/lon y cuantizar) para poder buscar a través del operador de igualdad.
Cuando presento este problema (ejemplo rango de búsqueda de - a) uso query con filtro de desigualdad única. Según el orden de clasificación (asc o desc), selecciono el límite superior o inferior. Después de eso, filtro el resultado programáticamente con el límite inferior o superior que no estaba en el filtro de consulta.
- 1. La desigualdad del filtro Appengine y el pedido falla
- 2. Google appengine datastore alternative?
- 3. Editar campo de texto en Appengine Datastore Viewer
- 4. Almacenar un gráfico dirigido en google appengine datastore
- 5. Cambiar IntegerProperty a FloatProperty de AppEngine DataStore existente
- 6. una forma de convertir appengine datastore Entity a mi objeto?
- 7. Oracle operador de desigualdad: ¬ =
- 8. Patrón coincidencia de desigualdad
- 9. Cómo generar archivos de gran tamaño (PDF y CSV) utilizando AppEngine y Datastore?
- 10. cómo ejecutar efectivamente dos filtros de desigualdad en las consultas en el motor de aplicación
- 11. AppEngine datastore: "Objeto con id ... es administrado por un Administrador de Objetos diferente"
- 12. App Engine: restricciones en el valor `kind` de Datastore Entities?
- 13. App Engine Datastore access
- 14. gae datastore backup
- 15. Problema de referencia inversa de Appengine
- 16. Django 1.3 en appengine
- 17. django en Google Appengine
- 18. rastreador en appengine
- 19. Tareas de fondo en appengine
- 20. Notación de desigualdad encadenada en lenguajes de programación
- 21. extraña C comparación desigualdad resultado Entero
- 22. Guardando entidades en django-nonrel con google appengine
- 23. Google Datastore - Blob o texto
- 24. Cambio dinámico de DataStore de un ComboBox
- 25. tamaño máximo en BlobProperty (appengine)
- 26. Solicitudes concurrentes en Appengine Python
- 27. ¿Cómo registrar excepciones en appengine?
- 28. Búsqueda de comodines en Appengine en python
- 29. Las pruebas para la desigualdad en T-SQL
- 30. Algoritmo para combinación de fusión con condición de desigualdad
¿Fue necesario? como lo menciona Peter, se admiten filtros de desigualdad múltiples siempre que estén en la misma propiedad. –
Intento usar uno (rango de - a) para el mismo campo de fecha - no fue compatible para mí. Lo uso con JDO – alexey28