我已將16,000行csv導入到Parse.com類中。現在我需要將緯度和經度字段轉換爲Parse.com GeoPoint數據類型字段。如何將緯度和經度字段複製到Parse.com上的GeoPoint中
我已經添加了GeoPoint字段,現在必須運行更新以將每行的lat/lng數據複製到它們各自的GeoPoint字段中。
在API或Parse.com界面中,哪裏可以做到這一點?我似乎無法找到它。我知道這是可能的,因爲開發團隊會忽略這樣的功能。
我已將16,000行csv導入到Parse.com類中。現在我需要將緯度和經度字段轉換爲Parse.com GeoPoint數據類型字段。如何將緯度和經度字段複製到Parse.com上的GeoPoint中
我已經添加了GeoPoint字段,現在必須運行更新以將每行的lat/lng數據複製到它們各自的GeoPoint字段中。
在API或Parse.com界面中,哪裏可以做到這一點?我似乎無法找到它。我知道這是可能的,因爲開發團隊會忽略這樣的功能。
解決方案確實是使用CloudCode的create a Job。這裏是一個JavaScript的例子:
Parse.Cloud.job("airportMigration", function(request, status) {
// Set up to modify user data
Parse.Cloud.useMasterKey();
var recordsUpdated = 0;
// Query for all airports with GeoPoint location null
var query = new Parse.Query("Airports");
query.doesNotExist("location");
query.each(function(airport) {
var location = {
latitude: airport.get("latitude_deg"),
longitude: airport.get("longitude_deg")
};
if (!location.latitude || !location.longitude) {
return Parse.Promise.error("There was an error.");
// return Parse.Promise.resolve("I skipped a record and don't care.");
}
recordsUpdated += 1;
if (recordsUpdated % 100 === 0) {
// Set the job's progress status
status.message(recordsUpdated + " records updated.");
}
// Update to GeoPoint
airport.set("location", new Parse.GeoPoint(location));
return airport.save();
}).then(function() {
// Set the job's success status
status.success("Migration completed successfully.");
}, function(error) {
// Set the job's error status
console.log(error);
status.error("Uh oh, something went wrong.");
});
});
當你評論承諾錯誤並取消註釋promise.resolve時,你的工作不起作用。我有一個類型錯誤:對象function(){this._resolved =!1,this._rejected =!1,this._resolvedCallbacks = [],this._rejectedCallbacks = []}沒有方法'resolve' 您能否修復它?謝謝! – Stephane
你可以發佈你的16K csv文件的樣本 – Mozzie
它有三個字段:標題,緯度和經度。 – Plywood
我想我可以用Parse CloudCode來做到這一點。如果成功,我會發布我的結果。 – Plywood