I am currently using .NET wrapper for mongodb (refer following excerpt from packages.config for versions):
<package id="mongocsharpdriver" version="2.4.2" targetFramework="net461" />
<package id="MongoDB.Bson" version="2.4.2" targetFramework="net461" />
<package id="MongoDB.Driver" version="2.4.2" targetFramework="net461" />
<package id="MongoDB.Driver.Core" version="2.4.2" targetFramework="net461" />
I am trying to build a simple filter to obtain items of which location's Latitude and Longitude is within certain limits as defined by LatitudeDelta and LongitudeDelta.
bool filterAll = string.IsNullOrEmpty(username) || username == "*";
var filter = Builders<Models.MapQuery>.Filter.Where(p => (filterAll || (username == p.CreatorUsername))
&& Math.Abs(p.PinLocation.Latitude - desiredLatitude) < latitudeDelta
&& Math.Abs(p.PinLocation.Longitude - desiredLongitude) < longitudeDelta);
var queries = await db.GetCollection<Models.MapQuery>(Constants.MAP_QUERY)
.Find(filter)
.ToListAsync();
When the program executes "var queries" line, it hit an exception saying "Abs(({PinLocation.Latitude} - 3.209096)) is not supported.".
How do I fix the above exception? Otherwise, what would be the workaround if the above problem cannot be solved?