Sailsjs地理空间解决方案与水线

时间:2014-01-08 19:47:05

标签: javascript sails.js geospatial waterline

似乎Sailsjs / Waterline目前不支持使用JSON的POINT类型或地理空间索引。

有没有办法为某些适配器自定义架构以支持地理空间数据类型?

如果没有,有没有办法将第二个ORM集成到Waterline中呢?

2 个答案:

答案 0 :(得分:1)

在Sails.js中,你需要MongoDB(npm install --save sails-mongo)来进行地理空间索引,另外你需要确保在config / bootstrap.js中创建2dindex(确保替换modelname和attributename)为了您的特殊需要):



module.exports.bootstrap = function(cb) {

  // Ensure we have 2dsphere index on coordinates attribute of Place.
  sails.models.modelname.native(function (err, collection) {
    collection.ensureIndex({ attributename: '2dsphere' }, function () {

    // It's very important to trigger this callback method when you are finished
    // with the bootstrap!  (otherwise your server will never lift, since it's waiting on the bootstrap)
    cb();

    });
  });

};




另请注意,您必须使用本机MongoDB地理空间查询,这超出了您的问题的范围。我发布了一个示例实现here

答案 1 :(得分:0)

如果查看水线文档,您可以看到如何创建自定义数据类型和自己的验证,您可以找到地理空间示例here