jea*_*gui 13 mongodb meteor minimongo
我想知道是否可以使用meteorodb地理空间索引与Meteor架构.
Minimongo没有实现地理空间索引,但这是否意味着我们不能在服务器端使用这个mongo功能?
例如,使用todos应用程序,如果我们在待办事项上使用位置,是否可以执行以下操作:
// Publish complete set of lists to all clients.
Meteor.publish('todos', function (lon,lat) {
return Todos.find({loc: {$near:[lon,lat]}}).limit(2);
});
Run Code Online (Sandbox Code Playgroud)
在客户端:
Meteor.subscribe('todos', lon, lat );
Run Code Online (Sandbox Code Playgroud)
a d*_*ren 18
是的,你可以在流星使用MongoDB的地理空间索引,并且您可以从您的流星应用程序中也创建索引.
- 地理空间搜索
我正在使用$within下面的运算符,而不是$near上面提到的运算符,但这仍然适用:
Meteor.publish('places', function(box) {
return Places.find({ loc : { $within : { $box : box }}});
});
Run Code Online (Sandbox Code Playgroud)
提醒:这些地理查询仅在服务器上可用(当前).
- 从Meteor中创建地理空间索引(而不是在MongoDB shell中)
Places._ensureIndex({ loc : "2d" });
Run Code Online (Sandbox Code Playgroud)
例如,你可以使用上面的bootstrap.js.
此外,你可能会想要把你ensureIndex的Meteor.startup,或者当你插入一些初始数据.
警告:正如这里提到的,上面的调用方法ensureIndex是因为缺少正式的方法来调用它,所以请期待这可能会改变.
更新:现在反映Meteor 0.5.0的变化,请参阅下面的@Dror评论.
| 归档时间: |
|
| 查看次数: |
4189 次 |
| 最近记录: |