這是我第一個問題,堆棧溢出,但我一直在使用SO過去2年,它提供了豐富的信息。使用Node.js的大量數據加載
我最近拿起NodeJS,我遇到了困境。我試圖找出使用NodeJS加載/插入大約2000行數據的最佳方法,並且如果可能的話使用首選的異步方法。我必須從API中獲取數據,然後獲取JSON數據並將數據加載到3個表中,以便稍後使用這些數據。該文件有17個國家對象,77個國家對象和約2000個縣對象。
,我解析的JSON文件格式爲:
[{Country:{
Name: ...
CountryId: ...
States: {
Name: ...
StateId: ...
Counties: {
Name: ...
CountyId:...
}
}
},{Country+n:{
Name: ...
CountryId: ...
States: {
Name: ...
StateId: ...
Counties: {
Name: ...
CountyId:...
}
}
}];
與我的PHP底色
所以,我會立刻在JavaScript創建三個功能,例如:
function Country(data){
for(var z in data){
var country = data[z];
InsertInCountryDB(country.CountryId, country.Name);
State(Country.State);
}
}
function State(data){
for(var z in data){
var state = data[z];
InsertInStateDB(state.StateId, state.Name);
State(Country.State);
}
}
function County(data){
for(var z in data){
var county = data[z];
InsertInCountyDB(county.CountyId, county.Name);
}
}
我第一次嘗試已經爲每個對象創建一個事件,然後使用這些事件深入到自己內部的對象中,然後插入數據。我發現將國家和州的詳細信息插入到數據庫中效果很好,但是縣數據會出錯。
我不是在尋找我的問題的答案,而是一個編碼技巧,以幫助我擺脫我的三個同步功能,而是使用異步功能。
謝謝
哪個數據庫?你有什麼嘗試? EventEmitters?回調? – TheHippo 2013-04-29 04:16:44
2000行應該非常快。我已經寫了腳本插入從多個文件mongo 7毫米記錄沒有問題在異步。那麼你使用什麼數據庫? – wayne 2013-04-29 06:25:17
我正在使用postgres數據庫。我使用了EventEmitters,但是我今天早上在想,我可能錯過了最初使用Listener和事件的方式。我設法使用同步方法將所有數據導入系統。但NodeJS的重點是異步編程,所以我想看看我是否可以重寫代碼以使用更好的方法。 – LorneCurrie 2013-04-30 03:01:59