草庐IT

mongodb - Sails.js $near 查询不起作用并要求索引

我正在尝试使用MongoDB查询Sails.js中某个坐标的最近点,但出现以下错误:{[MongoError:can'tfindanyspecialindices:2d(needsindex),2dsphere(needsindex),for:{$near:{$geometry:{type:"Point",coordinates:["4.3795912","51.9985675"]},$maxDistance:1000}}]name:'MongoError'}我确定我在bootstrap.js中有这个:sails.models.location.native(function(err,

java - MongoDB——Java | $near 的使用

我正在像这样在MongoDB集合中保存一些帖子:{"_id":{"$oid":"56e7152edbaacc2ab1d34f20"},"title":"thetitle","body":"thepost","loc":{"lat":40.616856,"lng":22.954689},"timestamp":"1457984814748","username":"User","fbID":"4324"}我想获取特定比例(比方说2公里)左右的帖子。我试图找到$near是如何工作的,但在mongodbjava文档中找不到关于此函数的文档。如果有人知道我该怎么做或在哪里可以找到相关文档,我们

java - 使用 Java 驱动程序的 MongoDB $near 查询

我的MongoDB数据库中有一些商店的产品遵循此数据模型:店铺{idShop,名称,位置{lat,lon},products[]ofint}如果我在mongoDB默认控制台中运行以下命令:db.shops.find({products:1,location:{$near:[41.391204,2.145381]}}).limit(300)要查找按距离排序的产品编号为1的商店,我会得到以下结果:{"_id":ObjectId("4f410cefe4b03a0e3cff6f5a"),"name":"Shop1","location":{"lat":41.389915,"lon":2.135

mongodb - Meteor.js - mongodb $near $geometry GeoJSON 点坐标经度限制 - Leaflet.js geoJson

我让Meteor.js与Leaflet.js对话,以便能够在“2d​​sphere”索引集合的$near查询周围显示有限的标记。所以我索引我的GeoJSON坐标:Locations._ensureIndex({'geometry.coordinates':'2dsphere'});一切正常,直到我使用$near运算符显示经度-90到90度以外的标记。纬度范围为-85到85,但经度停止在-90到90,而不是预期的-180到180。所以这很好用:LeafletmapsetView()显示我想放置$nearcurson的map部分:window.map=L.map('map').setVie

node.js - mongodb $text 与 $near

好的,我的目标是对我的收藏执行文本搜索,然后过滤这些结果以确保它们在我的“donut”几何范围内。来自mongo站点的示例:这是困难的部分。Mongo的文档证实,今天您无法将$text和$near的优点结合起来:Youcannotcombinethe$nearoperator,whichrequiresaspecialgeospatialindex,withaqueryoperatororcommandthatusesadifferenttypeofspecialindex.Forexampleyoucannotcombine$nearwiththe$textquery.Sooo..这

mongodb - Mongo 用另一个次级排序订购 $near

我有一个商店列表,它们有一个useCount和一个地理位置。我将如何通过useCount进行搜索和排序,同时在返回的每个对象上都有一个属性,表示它们离我有多近。架构:{name:String,useCount:{type:Number,index:true},location:{'type':{type:String,enum:"Point",default:"Point"},coordinates:{type:[Number],default:[0,0]}}}例如结果shop1usecount-12closest-3geo-1333.222,222.222shop2usecount-

mongodb - MongoDB 的 find-$near 查询中的参数顺序

如果我在MongoDBshell中执行以下查询,一切都很好:db.users.find({location:{$near:[52.3,6.6],$maxDistance:0.27}})但是,如果我改变参数的顺序,查询就会失败:db.users.find({location:{$maxDistance:0.27,$near:[52.3,6.6]}})Mongo返回以下错误:error:{"$err":"geovalueshavetobenumbers:{$maxDistance:0.27,$near:[52.3,6.6]}","code":13026}显然,查询字典参数的顺序很重要,这让

ruby-on-rails - Rails Geocoder near 方法将结果限制为 100

我正在使用Rails、Mongoid和Geocoder。我的问题是Location.near将返回的结果限制为100,即使对于应该产生超过100的结果也是如此。我需要一种方法来返回任何位置的所有结果。Location.near([28.4989,-87.7271],1).count=>100我尝试了几种方法,看起来我应该做类似于下面的事情,它仍然返回100。Location.near([28.4989,-87.7271]).limit(200).count=>100编辑:这似乎是near方法及其默认限制100的已知问题。我能够找到返回所有结果的Mongoid查询。Location.wh

mongodb - 使用 $near 按存储在文档中的距离过滤文档

我正在使用以下示例来更好地解释我的需求。我在map上有一组点(用户),集合模式如下{location:{latlong:[long,lat]},maxDistance:Number}我还有另一个集合,其中包含该地区发生的事件。架构如下所示{eventLocation:{latlong:[long,lat]}}现在用户可以添加他们的位置和他们想要参加事件的最大距离并保存。每当发布新事件时,所有满足其偏好的用户都会收到通知。现在我该如何查询。我尝试对用户模式进行以下查询{$where:{'location.latlong':{$near:{$geometry:{type:"Point",c

mongodb - 在 MongoDB 中使用 $near 运算符反转距离顺序

根据MongoDBdocumentation$near运算符按距离排序:$nearsortsdocumentsbydistance换句话说,查询中最接近引用点的是返回的第一个元素。有什么方法可以保留顺序吗?我的意思是,首先返回最远的元素。 最佳答案 确实有一种方法可以先返回最远的元素,那就是使用$geoNear。与聚合框架。但是当然有一个“陷阱”,因为您要问的实际上是这种搜索功能通常用于的对立面。作为初始管道阶段,它的工作是返回结果,其中包含距查询点的强制投影“距离”字段。然后,这允许您添加$sort将按“降序”返回“距离”的管道阶