gpt4 book ai didi

mongodb - Mongo 地理空间索引和 Meteor

转载 作者:IT老高 更新时间:2023-10-28 13:10:10 25 4
gpt4 key购买 nike

我想知道是否可以在 Meteor 架构中使用 mongodb 地理空间索引。

Minimongo 没有实现地理空间索引,但这是否意味着我们不能在服务器端使用这个 mongo 功能?

例如,使用 todos应用程序,如果我们在 todo 上使用位置,是否可以这样做:

// Publish complete set of lists to all clients.
Meteor.publish('todos', function (lon,lat) {
return Todos.find({loc: {$near:[lon,lat]}}).limit(2);
});

在客户端:

Meteor.subscribe('todos', lon, lat );

最佳答案

是的,您可以在 Meteor 中使用 MongoDB 地理空间索引,并且您也可以在 Meteor 应用中创建该索引。

- 地理空间搜索

我正在使用下面的 $within 运算符,而不是上面提到的 $near 运算符,但这仍然适用:

Meteor.publish('places', function(box) {
return Places.find({ loc : { $within : { $box : box }}});
});

提醒:此类地理查询仅在服务器上可用(目前)。

- 从 Meteor 中创建地理空间索引(而不是在 MongoDB shell 中)

Places._ensureIndex({ loc : "2d" });

例如您可以在 bootstrap.js 中使用上述内容。

此外,您可能希望将 ensureIndex 放入 Meteor.startup 中,或者在插入一些初始数据时。


警告:如前所述 here , 上面调用 ensureIndex 的方法是一种解决方法,因为缺少官方调用它的方法,所以请期待这可能会改变。

更新:现在反射(reflect) Meteor 0.5.0 的变化,见 @Dror的评论如下。

关于mongodb - Mongo 地理空间索引和 Meteor,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11392566/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com