当前位置: 首页 > news >正文

wordpress官方网站枣庄高端品牌网站建设案例

wordpress官方网站,枣庄高端品牌网站建设案例,王欣网站建设与维护,代理网页游戏多少钱$geoNear根据指定的点按照距离以由近到远的顺序输出文档。 从4.2版本开始#xff0c;MongoDB移除了limit和num选项以及100个文档的限制#xff0c;如果要限制结果文档的数量可以使用$limit阶段。 语法 { $geoNear: { geoNear options } }$geoNear操作接受一个包含…$geoNear根据指定的点按照距离以由近到远的顺序输出文档。 从4.2版本开始MongoDB移除了limit和num选项以及100个文档的限制如果要限制结果文档的数量可以使用$limit阶段。 语法 { $geoNear: { geoNear options } }$geoNear操作接受一个包含了下面选项字段的文档。使用与已处理文档坐标系相同的单位指定所有距离 |字段|类型|描述| |-|-| |distanceField|string|包含计算距离的输出字段要指定内嵌文档字段可以使用点号.| |distanceMultiplier|number|可选查询返回的所有距离的乘数。例如使用distanceMultiplier将球面查询返回的弧度乘以地球半径转换为公里| |includeLocs|string|可选,指定识别位置的输出字段用于计算距离。当位置字段包含多个位置时该选项非常有用。要指定嵌入文档中的字段可使用点符号.| |key||可选指定用于计算距离的地理空间索引字段。如果集合有多个2d或且2dsphere索引就必须要使用key选项来指定要使用的索引字段路径。如果集合有超过一个的2d索引或2dsphere索引而且没有指定一个给keyMongoDB将返回错误。如果没有指定key而且集合只有一个2d索引或且2dsphere索引MongoDB会找到第一个2d索引来使用如果2d索引不存在则会去找2dsphere索引来使用| |maxDistance|number|可选文档与中心点的最大距离。MongoDB 会将结果限制在与中心点的距离在指定范围内的文档。如果指定点是GeoJSON则以米为单位指定距离如果指定点是legacy坐标对则以弧度为单位指定距离| |near|GeoJSON点或legacy坐标对|查找最接近文件的点。如果使用2dsphere索引可以使用GeoJSON点或legacy坐标对来指定点。如果使用2d索引则要使用legacy坐标对来指定| |query|document|可选将结果限制为与查询匹配的文档。查询语法为常规MongoDB读操作查询语法。不能在$geoNear阶段的查询字段中指定$near谓词| |spherical|boolean|可选缺省为fasle决定MongoDB如何计算两点间的距离。当为true是MongoDB使用$nearSphere语义并且使用球形几何体计算距离。当为false时MongoDB 使用$near语义球形几何用于2dsphere索引平面几何用于2d索引| 使用 当使用$geoNear时需要考虑下面的情况 $geoNear只能用于管道的第一个阶段。必须包含distanceField选项distanceField选项指定了包含距离计算的字段。$geoNear需要一个地理空间索引。如果集合上有多个地理空间索引需要使用keys参数指定一下计算时要使用的索引如果只有一个地理空间索引可以不指定keys参数$geoNear会隐式使用索引字段进行计算。$geoNear阶段不可以在query字段中使用$near。从版本4.2开始$geoNear默认情况下不再限制100个文档。从版本4.1开始near参数支持let选项和绑定let选项。从版本5.3开始可以在时间序列集合的任何字段上使用$geoNear管道运算符。从版本6.0开始可以在时间序列集合的任何字段上创建partial和2dsphere索引。 举例 给places插入下面的数据 db.places.insertMany( [{name: Central Park,location: { type: Point, coordinates: [ -73.97, 40.77 ] },category: Parks},{name: Sara D. Roosevelt Park,location: { type: Point, coordinates: [ -73.9928, 40.7193 ] },category: Parks},{name: Polo Grounds,location: { type: Point, coordinates: [ -73.9375, 40.8303 ] },category: Stadiums} ] )下面的操作为location字段创建一个2dsphere索引 db.places.createIndex( { location: 2dsphere } )最大距离 上面的places集合有一个2dsphere索引下面的聚合使用$geoNear查找位置距离中心点[ -73.99279 , 40.719296 ]最多2米距离且category等于Parks的文档。 db.places.aggregate([{$geoNear: {near: { type: Point, coordinates: [ -73.99279 , 40.719296 ] },distanceField: dist.calculated,maxDistance: 2,query: { category: Parks },includeLocs: dist.location,spherical: true}} ])聚合返回下面的结果 {_id : 8,name : Sara D. Roosevelt Park,category : Parks,location : {type : Point,coordinates : [ -73.9928, 40.7193 ]},dist : {calculated : 0.9539931676365992,location : {type : Point,coordinates : [ -73.9928, 40.7193 ]}} }匹配的文档包含两个新字段 dist.calculated字段包含了计算后的距离dist.location字段包含了用于计算的位置 最小距离 下面的示例使用minDistance选项来指定文档与中心点的最小距离。下面的聚合查找所有位置距离中心点[ -73.99279 , 40.719296 ]至少2米距离且category等于Parks的文档。 db.places.aggregate([{$geoNear: {near: { type: Point, coordinates: [ -73.99279 , 40.719296 ] },distanceField: dist.calculated,minDistance: 2,query: { category: Parks },includeLocs: dist.location,spherical: true}} ])使用let选项 在下面的例子中 let选项用于将数组[-73.99279,40.719296]的值设置给变量$pt。pt被指定为near参数的let选项。 db.places.aggregate( [{$geoNear:{near:$$pt,distanceField:distance,maxDistance:2,query:{category:Parks},includeLocs:dist.location,spherical:true}} ], {let:{ pt: [ -73.99279, 40.719296 ] } } )聚合返回符合下面条件的所有文档 距离let变量指定的点至少2米距离category等于Parks {_id: ObjectId(61715cf9b0c1d171bb498fd7),name: Sara D. Roosevelt Park,location: { type: Point, coordinates: [ -73.9928, 40.7193 ] },category: Parks,distance: 1.4957325341976439e-7,dist: { location: { type: Point, coordinates: [ -73.9928, 40.7193 ] } } }, {_id: ObjectId(61715cf9b0c1d171bb498fd6),name: Central Park,location: { type: Point, coordinates: [ -73.97, 40.77 ] },category: Parks,distance: 0.0009348548688841822,dist: { location: { type: Point, coordinates: [ -73.97, 40.77 ] } } }使用绑定let选项 let选项可以绑定一个变量用于$geoNear查询。 在下面的例子中$lookup 使用let定义$pt。在pipeline使用$geoNear阶段。在$geoNear阶段用pt定义near。 db.places.aggregate( [{$lookup: {from: places,let: { pt: $location },pipeline: [{$geoNear: {near: $$pt,distanceField: distance}}],as: joinedField}},{$match: { name: Sara D. Roosevelt Park }} ] );聚合返回的结果中 Sara D. Roosevelt Park文档作为主文档。将地点集合中的每个文档作为子文档使用$pt变量计算距离。 {_id: ObjectId(61715cf9b0c1d171bb498fd7),name: Sara D. Roosevelt Park,location: { type: Point, coordinates: [ -73.9928, 40.7193 ] },category: Parks,joinedField: [{_id: ObjectId(61715cf9b0c1d171bb498fd7),name: Sara D. Roosevelt Park,location: { type: Point, coordinates: [ -73.9928, 40.7193 ] },category: Parks,distance: 0},{_id: ObjectId(61715cf9b0c1d171bb498fd6),name: Central Park,location: { type: Point, coordinates: [ -73.97, 40.77 ] },category: Parks,distance: 5962.448255234964},{_id: ObjectId(61715cfab0c1d171bb498fd8),name: Polo Grounds,location: { type: Point, coordinates: [ -73.9375, 40.8303 ] },category: Stadiums,distance: 13206.535424939102}] }指定地理空间索引 假定有一个places集合该集合的location字段上有一个2dsphere索引legacy字段上有一个2d索引。 places集合中的文档类似这个 {_id : 3,name : Polo Grounds,location: {type : Point,coordinates : [ -73.9375, 40.8303 ]},legacy : [ -73.9375, 40.8303 ],category : Stadiums }下面的例子使用key选项为$geoNear聚合操作指定使用location字段的值而不是使用legacy字段的值。聚合管道同事使用$limit返回最多5个文档。 db.places.aggregate([{$geoNear: {near: { type: Point, coordinates: [ -73.98142 , 40.71782 ] },key: location,distanceField: dist.calculated,query: { category: Parks }}},{ $limit: 5 } ])聚合返回下面的结果 {_id : 8,name : Sara D. Roosevelt Park,location : {type : Point,coordinates : [-73.9928,40.7193]},category : Parks,dist : {calculated : 974.175764916902} } {_id : 1,name : Central Park,location : {type : Point,coordinates : [-73.97,40.77]},legacy : [-73.97,40.77],category : Parks,dist : {calculated : 5887.92792958097} }
http://www.pierceye.com/news/42434/

相关文章:

  • 做一个网站花费多少钱深圳企业网站备案
  • 企业门户网站功能描述wordpress 媒体备份
  • 网站建设需要那些人才网络营销网站 功能
  • 做爰在线网站wordpress iframe插件
  • 江苏省建设工程交易中心网站什么网比较好
  • 如何修改网站抓取内容腾讯企业邮箱免费登录入口
  • 网站建设论文深圳软件app开发公司
  • 找人做彩票网站多少钱酒店网站开发协议
  • 夹江企业网站建设报价百度移动应用
  • 重庆一次可以备案多少个网站wordpress一键建站
  • 深圳定制专业网站工厂网站建设公司
  • 怎样分析网站做seo邢台学校网站建设
  • 安徽省住房城乡建设厅网站服务商
  • 怎样做一个公司网站温州通告最新
  • 自己做网站图片存在哪里成都住建局官网e蓉
  • 赣州建设监督网站网站流量如何增加
  • 免流网站开发司法政务网站群建设
  • 河南网站备案所需资料舟山建设网站
  • 网站建设规划书河北山东专业企业网站建设
  • 溧阳手机网站设计营销型网站建设开发
  • 网站内容怎么修改网页版微信可以传文件吗
  • 建设网站的费用属于做网站的软件page
  • 关于建设饮食与健康网站的意义注册了域名后怎么设计网站
  • 汽车电子商务网站建设规划书自己做的网站显示不出来
  • 企业做网站带来的好处域名申请哪家好
  • 做推广网站哪家好网站建设分金手指专业二八
  • 怎么快速提升网站权重沈阳做网站哪家公司好
  • 中国建设学会查询网站这几年做哪个网站致富
  • 网站的pdf目录怎么做的施工企业市场部
  • 延吉建设局网站有没有专业做挂的网站吗