Meteor Apollo订阅与graph.cool和Algolia
现在我有了Meteor应用程序和MongoDB地理索引 我用的是这种酒吧/酒吧: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.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是否有关于何时提供本地地理查询支持的时间估计?:)@卢克·布吕莱我们还没有一个具体的时间表。请订阅此期以获取更新