似乎Sailsjs / Waterline目前不支持使用JSON的POINT类型或地理空间索引。
有没有办法为某些适配器自定义架构以支持地理空间数据类型?
如果没有,有没有办法将第二个ORM集成到Waterline中呢?
答案 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