Mongo DB $在c#附近查询?

时间:2015-11-19 15:19:23

标签: c# mongodb

var query ="{'Geo':{'$near': {'$geometry': {'type': 'Point' ,'coordinates':[]} }}}";
var parsing = BsonDocument.Parse(query);
var qwithcoor = parsing["Geo"]["$near"]["$geometry"]["coordinates"].AsBsonArray;
qwithcoor.AddRange(coordinates);
parsing["Geo"]["$near"].AsBsonDocument.Add("$maxDistance", radius);

var collection = database.GetCollection<BsonDocument>("mycollection");
var documents = await collection.Find(parsing).ToListAsync();

我想用Builders<BsonDocument>.Filter执行此操作。像这样:

var query=Builders<BsonDocument>.Filter.Near();
var documents=await collection.Find(query).ToListAsync();

我在过滤器后使用Near吗?什么是近参数?

1 个答案:

答案 0 :(得分:3)

我用

解决了这个问题
var gp =new GeoJsonPoint<GeoJson2DGeographicCoordinates>(new GeoJson2DGeographicCoordinates(coordinates[0], coordinates[1]));
var query=Builders<BsonDocument>.Filter.Near("Geo",gp,radius);
var result = await col.Find(query).ToListAsync();