[SERVER-7322] GeoLoc does not match exact locations in 2.2.0 when there is more than one item in an index Created: 11/Oct/12 Updated: 11/Jul/16 Resolved: 07/Dec/12 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | Geo |
| Affects Version/s: | 2.2.0 |
| Fix Version/s: | 2.3.2 |
| Type: | Bug | Priority: | Major - P3 |
| Reporter: | David Hows | Assignee: | hari.khalsa@10gen.com |
| Resolution: | Done | Votes: | 1 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||
| Operating System: | ALL | ||||
| Participants: | |||||
| Description |
|
In 2.2.0 performing a find or $near on a geographic index with a secondary field to the geospatial will cause any exact locations queries to return nothing and $near will not have the exact match included in the results. This only effects indexes with a second field in addition to the geographical field. This issue doesn't occur under 2.0.7. Example
Index:
Query:
Query 2:
Given the query we should match city B as it is at the co-ordinates, but is not being returned. |
| Comments |
| Comment by auto [ 08/Dec/12 ] |
|
Author: {u'date': u'2012-12-08T16:47:16Z', u'email': u'tad@10gen.com', u'name': u'Tad Marshall'}Message: Some versions of g++ issue a warning on copying a double to an int: src/mongo/db/geo/2d.cpp:79: warning: converting to 'int' from 'double' Other g++ versions do not complain. Use static_cast<int> to prevent warning. |
| Comment by auto [ 07/Dec/12 ] |
|
Author: {u'date': u'2012-12-07T22:14:55Z', u'email': u'hkhalsa@10gen.com', u'name': u'Hari Khalsa'}Message: |