首页 > 数据库技术 > 详细

mongodb 查询坐标附近数据

时间:2020-03-11 12:44:43      阅读:136      评论:0      收藏:0      [点我收藏+]

var vPoint = new GeoJsonPoint<GeoJson2DCoordinates>(new GeoJson2DCoordinates(user_x, user_y));

var vFilter = Builders<t_s_S01>.Filter.Where(v => v.isOpen == true);
vFilter &= Builders<t_s_S01>.Filter.Where(v => v.auditInfo.auditStatus == auditInfo.auditResult_2);
if (vOpenRange)
{
vFilter &= Builders<t_s_S01>.Filter.NearSphere(v => v.coordinate, vPoint, vMaxDis);
}
List<t_s_S01> vList = new MongoDBHelper().queryData(vConnString, vDataBaseName, "t_s_S01", vFilter).ToList();

 

 

这个返回间距

var vMongoCollection = new MongoDBHelper().getMongoCollection<t_s_S01>(vConnString, vDataBaseName, "t_s_S01");

string vParameter = "{$geoNear: { near: { type: ‘Point‘, coordinates: [ " + user_x + ", " + user_y + "] },maxDistance:" + vMaxDis + ", distanceField: ‘distance‘,spherical: true }} ";

//var vSort = new SortDefinitionBuilder<t_s_S01_out>().Ascending(v => v.distance);
//var myQuery = PipelineDefinition<geo, geo_out>.Create(parameter).Skip(0).Limit(5).Sort(vSort);

var vQuery = PipelineDefinition<t_s_S01, t_s_S01_out>.Create(vParameter).Skip(skip).Limit(limit);

List<t_s_S01_out> vOutData = vMongoCollection.Aggregate(vQuery).ToList();
return vOutData;

mongodb 查询坐标附近数据

原文:https://www.cnblogs.com/xubao/p/12461006.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!