Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Mongodb$inquery_Javascript_Mongodb_Meteor - Fatal编程技术网

Javascript Mongodb$inquery

Javascript Mongodb$inquery,javascript,mongodb,meteor,Javascript,Mongodb,Meteor,我正在尝试使用$within操作符在mongodb中进行地理空间查询。我有一个集合条目,它有一个位置字段,其中包含: location: { bounds: { south_west: { lat: XX.XXXXXX, lng: XX.XXXXX }, north_east: { lat: XX.XXXXXX, lng: XX.XXXXX } }, center: { lat: XX.XXXXXX, lng: XX.XXXXXX } } 对于我

我正在尝试使用
$within
操作符在
mongodb
中进行地理空间查询。我有一个集合条目,它有一个位置字段,其中包含:

location: {
  bounds: {
    south_west: { lat: XX.XXXXXX, lng: XX.XXXXX },
    north_east: { lat: XX.XXXXXX, lng: XX.XXXXX }
  },
  center: {
    lat: XX.XXXXXX,
    lng: XX.XXXXXX
  }
}
对于我的查询,我希望获得所有位置的
location.center
都在
google.maps
对象的范围内。我有这样的想法:

query = {}

var southWest = map.getBounds().getSouthWest();
southWest = [southWest.lat(), southWest.lng()];

var northEast = map.getBounds().getNorthEast();
northEast = [northEast.lat(), northEast.lng()];

query["location.center"] = { $within: { $box: [southWest, northEast] } }
但我总是得到

Exception from Meteor.flush: Error: Unrecognized key in selector: $within
at Error (<anonymous>)
at Function.LocalCollection._exprForConstraint (http://localhost:3000/packages/minimongo/selector.js?2373a18a9a4640513e41d7850f17f62f76b7c589:559:11)
at Function.LocalCollection._exprForOperatorTest (http://localhost:3000/packages/minimongo/selector.js?2373a18a9a4640513e41d7850f17f62f76b7c589:468:36)
at Function.LocalCollection._exprForKeypathPredicate (http://localhost:3000/packages/minimongo/selector.js?2373a18a9a4640513e41d7850f17f62f76b7c589:387:34)
at Function.LocalCollection._exprForSelector (http://localhost:3000/packages/minimongo/selector.js?2373a18a9a4640513e41d7850f17f62f76b7c589:307:36)
at Function.LocalCollection._compileSelector (http://localhost:3000/packages/minimongo/selector.js?2373a18a9a4640513e41d7850f17f62f76b7c589:284:24)
at new LocalCollection.Cursor (http://localhost:3000/packages/minimongo/minimongo.js?7f5131f0f3d86c8269a6e6db0e2467e28eff6422:71:39)
at LocalCollection.find (http://localhost:3000/packages/minimongo/minimongo.js?7f5131f0f3d86c8269a6e6db0e2467e28eff6422:57:10)
at _.extend.find (http://localhost:3000/packages/mongo-livedata/collection.js?3ef9efcb8726ddf54f58384b2d8f226aaec8fd53:155:34)
at Template.feed.feed_items (http://localhost:3000/client/modules/js/feed.js?5ed30ddbd861944b636dbe03c13cc80421258a5b:129:17) 

我是否可以防止引号在和$框选择器中缠绕在
$周围?我相信这就是我的异常被抛出的地方

引号不是问题,这只是有效的JSON。问题是minimongo还没有在内部实现$。Matt Debergalis(2012年10月23日):

最近《流星谈话》的流量让我想起了minimongo 改善和扩展的健康愿望列表

[……]

  • $near、$within和$maxDistance
在具有“真正的”mongodb访问权限的服务器上执行此操作可能会更好,但如果客户端存储没有相同的功能,我不确定这是如何工作的


。也许您应该尝试自己实现这个选择器并发送一个pull请求?:)

引号不是问题,这只是有效的JSON。问题是minimongo还没有在内部实现$。Matt Debergalis(2012年10月23日):

最近《流星谈话》的流量让我想起了minimongo 改善和扩展的健康愿望列表

[……]

  • $near、$within和$maxDistance
在具有“真正的”mongodb访问权限的服务器上执行此操作可能会更好,但如果客户端存储没有相同的功能,我不确定这是如何工作的


。也许您应该尝试自己实现这个选择器并发送一个pull请求?:)

这可能是一个老问题,但为了防止有人再次访问此问题,您可以使用此问题对minimongo进行查询:

locations.find(
    { "location.lng" : {
        "$gt" : bottomLeftLng,
        "$lt":  topRightLng  
      },
      "location.lat": {
        "$gt" : bottomLeftLat,
        "$lt": topRightLat
      }
   }
)

这可能是一个老问题,但如果有人再次访问此问题,您可以使用此问题对minimongo进行查询:

locations.find(
    { "location.lng" : {
        "$gt" : bottomLeftLng,
        "$lt":  topRightLng  
      },
      "location.lat": {
        "$gt" : bottomLeftLat,
        "$lt": topRightLat
      }
   }
)

在第一次编辑之前就开始了;)感谢大家对minimongoLooks的关注,就像已经有了一个拉取请求:在您进行第一次编辑之前就开始了;)感谢大家对minimongoLooks的关注,就像已经有一个pull请求: