[英]Meteor's mongodb insertion failed when storing GeoJSON Objects in field “loc”
我在流星应用程序中插入对象listingItemInjectionObj
,其属性之一如下
listingItemInjectionObj.loc = {
type: "Point",
coordinates: [ lat, lng ] // google api lat(), lng() stored in vars
};
但是,当我插入Listings.insert(listingItemInjectionObj);
我收到以下错误"insert failed: MongoError: insertDocument :: caused by :: 16804 location object expected, location array not in correct format"
我要基于GeoJSON对象 ,在尝试了此SO Q之后我来到了这里。
您的数组中的经纬度顺序错误。 GeoJSON需要很长时间才能到达纬度:
listingItemInjectionObj.loc = {
type: "Point",
coordinates: [ lng, lat ]
};
Following code works:-
Request payload:
{"loc":["-12.62","21.48"]}
Node.js backend:
var lat, lon, loc = req.body.loc;
if(loc && loc instanceof Array && loc.length) {
lat = parseInt(loc[0], 10) || 0;
lon = parseInt(loc[1], 10) || 0;
data['loc'] = {
type: "Point",
coordinates : [lat, lon]
};
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.