이 코드와 함께 this gist of mine을 사용하여이 문제를 해결했습니다 (CSV 데이터를 구문 분석하는 데 jquery-csv 플러그인 사용). 이것은 클라이언트 측에서 이루어지며 iron-router를 사용하는지 여부와는 독립적입니다. 삽입 코드를 Meteor 메소드로 옮기고 csv 파일을 먼저 업로드 한 다음 서버에서 데이터를 구문 분석하고 삽입하는 것은 상당히 간단합니다. 나도 그걸 시도했지만 성능 향상은 보지 못했다.
$(document).ready(function() {
var dd = new dragAndDrop({
onComplete: function(files) {
for (var i = 0; i < files.length; i++) {
// Only process csv files.
if (!f.type.match('text/csv')) {
continue;
}
var reader = new FileReader();
reader.onloadend = function(event) {
var all = $.csv.toObjects(event.target.result);
// do something with file content
_.each(all, function(entry) {
Items.insert(entry);
});
}
}
}
});
dd.add('upload-div'); // add to an existing div, turning it into a drop container
});
은 조심하지만 당신이 항목을 많이 삽입하는 경우, 당신은 돌려 더 나을 모든 반응 모두가 삽입 될 때까지 잠시 동안 떨어져 다시 렌더링. 그렇지 않으면 서버와 브라우저 탭의 노드가 모두 느려집니다. 내 제안 솔루션을 여기를 참조하십시오 :
Meteor's subscription and sync are slow
바로 데이터를 클라이언트의 컬렉션에 삽입하면 유성이 서버에 '업로드'할 수 있습니다. 이것이 내 대답에서하고있는 일이다. –