0
我目前使用.NET包装MongoDB的(从packages.config参考以下节选版本):MongoDB的.NET异常:不支持的过滤器
<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" />
我想建立一个简单的过滤器来获得的项目该位置的经度和纬度在由LatitudeDelta和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();
当程序执行 “变种查询” 行,它击中了一个异常说 “ABS(({} PinLocation.Latitude - 3.209096)),不支持”。
如何解决上述异常?否则,如果上述问题无法解决,那么解决方法是什么?