草庐IT

geoWithin

全部标签

MongoDB - 使用 $polygon 或 $geometry 的 $geoWithin 查询给出不同的结果

使用MongoDB3.2我正在尝试对点集合使用2dsphere查询。假设我有一个集合cust_5_abcd,在the_geom字段上有一个2dsphere索引。在集合中添加几何图形:db.cust_5_abcd.insert({"chps0":"Texted'uneligne","the_geom":{"type":"Point","coordinates":[1.032715,40.380028]}})现在我正在尝试使用$geoWithin查询此点,以获取特定多边形内的所有数据。如果我将$geometry与GeoJSON定义一起使用,或者与$polygon和严格坐标一起使用,这就是我

mongodb - 在 MongoDB 中,如何使用文档中的字段作为 $geoWithin/$centerSphere 表达式的输入?

我正在尝试编写一个MongoDB查询,用于搜索以指定位置为中心的半径内的文档。下面的查询有效。它查找在searching.coordinates的searching.radius弧度内的所有文档。但是我想做的是将当前文档的allowed_radius值添加到searching.radius值中,这样允许的球体实际上更大。我怎样才能使这个查询成为可能?当前查询:collection.aggregate([{$project:{location:"$location",allowed_radius:"$allowed_radius"}},{$match:{$and:[{location:{

mongodb - 在 MongoDB 中,如何使用文档中的字段作为 $geoWithin/$centerSphere 表达式的输入?

我正在尝试编写一个MongoDB查询,用于搜索以指定位置为中心的半径内的文档。下面的查询有效。它查找在searching.coordinates的searching.radius弧度内的所有文档。但是我想做的是将当前文档的allowed_radius值添加到searching.radius值中,这样允许的球体实际上更大。我怎样才能使这个查询成为可能?当前查询:collection.aggregate([{$project:{location:"$location",allowed_radius:"$allowed_radius"}},{$match:{$and:[{location:{

node.js - 如何通过 Geowithin 从 mongodb 获取匹配的子文档?

我在这里试图做的是,我只想要那些在提供的纬度和经度范围内的子文档,但是如果我的文档中只有一个子文档匹配而其他子文档不匹配,它应该只返回包含该特定文档的文档。但它也返回了我所有的子文档,你们可以帮助我吗?我的文件是这样的{"_id":"5ae04fd45f104a5980cf7e0e","name":"Rehan","email":"rehan@gmail.com","status":true,"created_at":"2018-04-25T09:52:20.266Z","parking_space":[{"_id":"5ae05dce5f104a5980cf7e0f","parkin

MongoDB 2dsphere 索引 $geoWithin 性能

我有一个GeoJSONPoint形式的坐标数据集合,我需要从中查询一个区域内的10个最新条目。现在有1.000.000个条目,但将增加大约10倍。我的问题是,当所需区域内有很多条目时,我的查询性能会大大下降(案例3)。我目前拥有的测试数据是随机的,但真实数据不会,因此无法仅根据区域的尺寸选择另一个索引(如案例4)。我应该怎么做才能让它无论在哪个区域都能按预期执行?1.收集统计:>db.randomcoordinates.stats(){"ns":"test.randomcoordinates","count":1000000,"size":224000000,"avgObjSize":
12