MongoDB geonear和text命令驱动程序2.0

时间:2015-05-08 08:09:46

标签: c# mongodb

我只是想知道如何使用新的.NET 2.0驱动程序在MongoDB中执行GeoNear和Full Text查询(不在同一查询中)?

我似乎无法找到与此新驱动程序相关的任何信息。

您以前可以使用Query.TextmyCollection.GeoNear方法,但这些方法似乎不再存在。

任何人都可以请我指点一些文档,示例或信息吗?

1 个答案:

答案 0 :(得分:4)

文本查询,q是查询字符串:

coll.FindAsync<Foo>(Builders<Foo>.Filter.Text(q));

文本查询需要文本索引。要从C#创建,

coll.Indexes.CreateOneAsync(Builders<Foo>.IndexKeys.Text(p => p.Message));

近乎查询:

coll.FindAsync<Foo>(Builders<Foo>.Filter.Near(p => p.Location, x, y, maxDis, minDis));
coll.FindAsync<Foo>(Builders<Foo>.Filter.Near(p => p.Location, 5, 5, 100, 0));

同样,这些需要一个索引:

coll.Indexes.CreateOneAsync(Builders<Foo>.IndexKeys.Geo2D(p => p.Location));