Sailsjs/Waterline目前似乎不支持帶JSON的POINT類型或地理空間索引。帶水線的Sailsjs地理空間解決方案
是否有任何方法來定製特定適配器的模式以支持地理空間數據類型?
如果沒有,是否有辦法將第二個ORM集成到Waterline中呢?
Sailsjs/Waterline目前似乎不支持帶JSON的POINT類型或地理空間索引。帶水線的Sailsjs地理空間解決方案
是否有任何方法來定製特定適配器的模式以支持地理空間數據類型?
如果沒有,是否有辦法將第二個ORM集成到Waterline中呢?
如果檢查水線文檔,你可以看到如何創建自定義的數據類型和自己的驗證,你可以找到一個地理空間例如here
在Sails.js,你需要的MongoDB(NPM安裝--save帆-mongo)地理空間索引,再加上你需要確保2dindex獲取配置/ bootstrap.js創建爲這樣的(請務必立即更換爲您的特定需求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
沒有幫助,該示例沒有顯示除創建點之外的其他任何操作。這需要.Native mongodb或haversine公式實現 –
您的鏈接已過時。任何尋找如何創建自定義數據類型的人:看看這裏:https://github.com/balderdashy/waterline/blob/4744f1edbba27921a8fea588393facc8382e4d96/README.md#custom-types – qualbeen