Meteor Apollo订阅与graph.cool和Algolia

Meteor Apollo订阅与graph.cool和Algolia,meteor,algolia,apollo,graphcool,Meteor,Algolia,Apollo,Graphcool,现在我有了Meteor应用程序和MongoDB地理索引 我用的是这种酒吧/酒吧: Meteor.publish('items', function itemsPublication(NELat, NELong, SWLat, SWLong) { return Items.find({ $and: [ { 'till': { $gte: new Date() } },

现在我有了Meteor应用程序和MongoDB地理索引

我用的是这种酒吧/酒吧:

 Meteor.publish('items', function itemsPublication(NELat, NELong, SWLat, SWLong) {

  return Items.find({
    $and: [
        {
            'till': {
                $gte: new Date()
            }
        },
        {
            'o': { $geoWithin: { $box: [ [ SWLong,SWLat], [ NELong, NELat] ] }  }
        }

    ]
   }, {
     fields: {
        o: 1,
        t: 1,
     }
   })
})
我添加了一些索引,例如:

Item._ensureIndex({
    'till':1, 'o': '2dsphere' 
})
一切正常

主要问题是:是否有可能将Meteor pub/sub+MongoDB地理索引更改为Apollo subs+graph.cool作为后端+Algolia超快速地理搜索


我需要真正的反应性,而不需要轮询或其他东西…

GraphTool目前本机不支持空间查询。由于这个原因,您将无法从Meteor和GraphTool支持的其他数据类型中获得您习惯的反应式体验。我们有一个开放的特征请求,当合并时,GoGoLoW将在这方面与阿波罗相媲美。 也就是说,在等待本机支持时,您可以通过Algolia实现一种变通方法:

1) 为地理查询设置Algolia集成,如下所述

2) 设置GraphQL订阅,侦听您感兴趣的模型的创建、更新和删除事件


3) 当收到事件时,查询Algolia索引以获取最新结果

GraphTool当前本机不支持空间查询。由于这个原因,您将无法从Meteor和GraphTool支持的其他数据类型中获得您习惯的反应式体验。我们有一个开放的特征请求,当合并时,GoGoLoW将在这方面与阿波罗相媲美。 也就是说,在等待本机支持时,您可以通过Algolia实现一种变通方法:

1) 为地理查询设置Algolia集成,如下所述

2) 设置GraphQL订阅,侦听您感兴趣的模型的创建、更新和删除事件

3) 收到事件后,查询Algolia索引以获取最新结果

您可能希望直接从客户端签出使用Apollo的Algolia服务。这个包是围绕
algoliasearch helper js
的简单包装。 如果要使用它执行地理查询,只需在GraphQL中创建以下查询即可:

const LOCATIONS_QUERY = gql`
  query LocationsQuery {
    locationsInRadius @algolia(index: "dev_LOCATIONS", aroundLatLng: "40.71, -74.01", aroundRadius: 1000)
  }
`
您可能希望直接从客户机上使用Apollo的Algolia服务。这个包是围绕
algoliasearch helper js
的简单包装。 如果要使用它执行地理查询,只需在GraphQL中创建以下查询即可:

const LOCATIONS_QUERY = gql`
  query LocationsQuery {
    locationsInRadius @algolia(index: "dev_LOCATIONS", aroundLatLng: "40.71, -74.01", aroundRadius: 1000)
  }
`

@sorenbs是否有任何时间估计何时可以提供对地理查询的本机支持?:)@卢克·布吕莱我们还没有一个具体的时间表。请订阅本期更新@sorenbs是否有关于何时提供本地地理查询支持的时间估计?:)@卢克·布吕莱我们还没有一个具体的时间表。请订阅此期以获取更新