Sailsjs Geospatial Solution with Waterline

喜你入骨 提交于 2019-12-08 19:25:06

问题


It seems like Sailsjs/Waterline does not currently support a POINT type or geospatial indexing with JSON.

Are there any ways to customize a schema for certain adapters to support geospatial datatypes?

If not, is there a way to integrate a second ORM into Waterline that does so?


回答1:


In Sails.js, you need MongoDB (npm install --save sails-mongo) for geospatial indexing, plus you need to ensure the 2dindex gets created in config/bootstrap.js as such (make sure to replace modelname and attributename for your particular needs):

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();

    });
  });

};

Also note that you have to use native MongoDB geospatial queries, which is beyond the scope of your question. I've posted an example implementation here




回答2:


If you check the waterline documentation you can see how to create custom data types and your own validation, you can find a geospatial example here



来源:https://stackoverflow.com/questions/21005125/sailsjs-geospatial-solution-with-waterline

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!