Meteor 流星:发现的交点
我的收藏如下:Meteor 流星:发现的交点,meteor,publish,intersection,Meteor,Publish,Intersection,我的收藏如下: Schema.Place=new SimpleSchema({ 类型:{ 类型:字符串, autoValue:function(){return'Point';} }, 坐标:{ 类型:[编号], 是的, }, }); Schema.Direction=newsimpleschema({ _身份证:{ 类型:字符串, 可选:true, }, 发件人:{ 类型:Schema.Place, }, 致:{ 类型:Schema.Place, } }); 然后我想根据起点和终点查询相同的
Schema.Place=new SimpleSchema({
类型:{
类型:字符串,
autoValue:function(){return'Point';}
},
坐标:{
类型:[编号],
是的,
},
});
Schema.Direction=newsimpleschema({
_身份证:{
类型:字符串,
可选:true,
},
发件人:{
类型:Schema.Place,
},
致:{
类型:Schema.Place,
}
});
然后我想根据起点和终点查询相同的方向。第一个问题是,我无法在同一个查询中查询两个地理索引,因此我执行以下操作:
Meteor.publish('Directions',函数(direction){
var id=Ride.find({
主动:对,
发件人:{
$near:{
$geometry:{
键入:“点”,
坐标:方向.from.coordinates,
},
$maxDistance:5000,
}
}
}).map(函数(项){return item.\u id});
回程({
_id:{$in:ids},
致:{
$near:{
$geometry:{
键入:“点”,
坐标:方向到坐标,
},
$maxDistance:5000,
}
}
});
});
问题是发布由于双重查询过滤而失去了反应能力
我对如何做这项工作有一些想法,但对我来说似乎很奇怪,没有更好的方法:
- 发布第一个查询并在客户端上执行筛选(但不确定 $near受客户端支持)
- 在发布功能中使用observeChanges
- 在发布函数中使用meteor方法(我在以前的讨论中见过它,但不确定它是否可能或与我的问题相关)李>
publish composite
包进行被动连接https://atmospherejs.com/reywood/publish-composite
我已经在使用它了,但它是用于父/子关系的,不是吗?我怎样才能将它用于同一个集合?是的,它是用于父/子关系的。但是您可以在子级中查询相同的集合。您可以使用publish composite
package进行被动联接https://atmospherejs.com/reywood/publish-composite
我已经在使用它了,但它是用于父/子关系的,不是吗?我怎样才能将它用于同一个集合?是的,它是用于父/子关系的。但是您可以在子对象中查询相同的集合。