这是我的第一个问题,所以如果问得不是很好或者我的英语不好,请耐心等待我。我正在尝试在Node.js中的MongoDB中执行地理空间查询。这个查询工作得很好collection.find({loc:{$geoWithin:{$centerSphere:[[point.coordinates[0],point.coordinates[1]],getRadiusMeters(radius)]}}})但是当我尝试对$nearSphere做同样的事情时:collection.find({loc:{$nearSphere:{$geometry:{type:"Point",coordinates:[
我正在尝试将2dSphere索引添加到包含位置数组的Mongo集合。这是我得到的错误:[MongoError:insertDocument::causedby::16755Can'textractgeokeysfromobject,malformedgeometry?:{_id:"gjuFiwHd7ctBpgEwL",title:"Inyorpletaoland.",locations:[{loc:{type:"Point",coordinates:["0.0181033","43.8355792"]}}]}]我打电话的地方:ensureIndex({'locations.loc':"
我创建了一个集合,一个对象看起来像这样。[_id]=>MongoIdObject([$id]=>53087f483b15eaeb6c3c9869)[time_from]=>2014-02-2200:00:00[time_to]=>2014-02-2200:10:00[checkin]=>Array([0]=>Array([time_frame]=>2014-02-2200:00:56[user_id]=>1[loc]=>Array([type]=>Point[coordinates]=>Array([0]=>73.43[1]=>42.22)))[1]=>Array([time_fram
我有一个名为search2的集合,其中包含大约20000个这样的文档:{"loc":{"type":"Polygon","coordinates":[[[43.78526674007639,11.14739998758569],[43.78526674007639,11.183372851822439],[43.79443488391605,11.183372851822439],[43.79443488391605,11.264311796355125],[43.812771171595415,11.264311796355125],[43.83110745927479,11.264
根据它关于2d索引的文档:The2dindexsupportscalculationsonaflat,Euclideanplane.The2dindexalsosupportsdistance-onlycalculationsonasphere,butforgeometriccalculations(e.g.$geoWithin)onasphere,storedataasGeoJSONobjectsandusethe2dsphereindextype.有些事情我不明白..我不明白仅距离是什么意思,它是指弦(通过表面“内部”的线连接两个表面点的线)吗?该计算如何根据地球经度和纬度进行计算
在MongoDB集合中,我想在包含许多位置的字段上创建2dsphere索引。我认为这一定是可行的,因为$geoNear阶段运算符有includeLocs或uniqueDocs之类的选项,我们可以指定这些选项一些条件,如果位置字段有多个位置。然后我尝试在字段loc上创建索引,如下所示://db.users{//otherfieldsloc:[{type:"Point",coordinates:[-20,20]},{type:"Point",coordinates:[-30,30]}]}使用代码:db.users.createIndex({loc:"2dsphere"})但我得到的错误是l
我有一组地理空间+时间数据和一些附加属性,我将在map上显示这些数据。该集合目前有几百万份文件,并且会随着时间的推移而增加。每个文档都有以下字段:位置:[geojson对象]日期:[日期对象]缩放级别:[int32]条目类型:[ObjectID]我需要能够通过位置(通常是地理范围内查询)、日期(通常是$gte/$lt)、ZoomLevel和EntryType的任意组合来快速查询此集合。我想知道的是:我应该制作一个包含所有四个字段的复合索引,还是为每个字段制作一个索引,或者它们的某种组合?我在MongoDB文档中阅读了以下内容:Foracompoundindexthatincludesa
我希望通过地理空间索引从MongoDB集合中获取文档列表。我已经通过2dsphere对集合进行了索引db.getCollection("Info").ensureIndex(newBasicDBObject("location","2dsphere"),"geospatial");Info集合中的文档如下所示{"_id":ObjectId("52631572fe38203a7388ebb5"),"location":{"type":"Point","coordinates":[144.6682361,-37.8978304]}当我通过坐标[144.6682361,-37.8978304
Mongodb站点显示2d索引的内部是GeoHash。我想了解2dsphere索引的内部结构。是GeoHash、CartesianTiers还是其他技术?刚找到mongodb站点的博客,new-geo-features,引入2dsphere索引。但是没有详细说明。 最佳答案 blogpostyoulinkedto说了一些关于如何实现2dsphere索引的事情。它使用Google的S2几何库在地球表面创建网格单元并将它们放入B树中以便可以快速搜索它们。博文中的链接已过时,因为Google代码不再有效。现在可以看到S2的存储库here.
我正在尝试通过使用MongoDB的查找方法查询特定点周围的纬度和经度点来使用MongoDB的地理空间索引。我不断收到错误消息:MongoError:can'tfindanyspecialindices:2d(needsindex),2dsphere(needsindex)在谷歌搜索了大约一个小时后,我不确定文档在哪里。我也找不到任何好的解释。这是我使用Mongoose创建的架构:varmongoose=require('mongoose');varSchema=mongoose.Schema;varEventSchema=newSchema({name:String,descripti