C# 在C中使用$GEOIN运算符#

C# 在C中使用$GEOIN运算符#,c#,mongodb,mongodb-.net-driver,C#,Mongodb,Mongodb .net Driver,目前在一个项目中,我正在使用查询查找x英里范围内集合中的所有内容。在阅读mongodb文档时,它指出$INTERIN运算符已被弃用,您应该使用$GEOINTIN查询运算符 我正在使用Mongodb查询生成器(见下文) Query.withincorcle(x=>x.LongLat,经度,纬度,弧度,真) 我注意到它创建的查询使用$INTERSION操作符,而不是$GEOIN操作符。我没有看到任何方法更新它以使用正确的操作符,因为我们已经升级到Mongodb 2.4.x,我对Mongodb不太了

目前在一个项目中,我正在使用查询查找x英里范围内集合中的所有内容。在阅读mongodb文档时,它指出$INTERIN运算符已被弃用,您应该使用$GEOINTIN查询运算符

我正在使用Mongodb查询生成器(见下文)

Query.withincorcle(x=>x.LongLat,经度,纬度,弧度,真)

我注意到它创建的查询使用$INTERSION操作符,而不是$GEOIN操作符。我没有看到任何方法更新它以使用正确的操作符,因为我们已经升级到Mongodb 2.4.x,我对Mongodb不太了解,但Mongodb csharp代码似乎还没有更新为使用
$geointen
,如您所见:

请参见,它在中使用
$

由于该库是开源的,所以您可以对其进行分叉、编辑和重新编译,并使用自己的版本。此外,您还可以提出请求,建议将更改包含在主代码中


我认为没有“更简单”的方法可以做到这一点,我希望这会有所帮助。

FYI-我也看到了这一点,并在mongodb的jira系统中提出了“改进”:
Query<Stuff>.WithinCircle(x => x.LongLat, longitude, latitude, radians, true)
public static IMongoQuery WithinCircle(string name, double centerX, double centerY, double radius, bool spherical)
{
    if (name == null)
    {
        throw new ArgumentNullException("name");
    }

    var shape = spherical ? "$centerSphere" : "$center";
    var condition = new BsonDocument("$within", new BsonDocument(shape, new BsonArray { new BsonArray { centerX, centerY }, radius }));
    return new QueryDocument(name, condition);
}