MongoDB에서 많은 결과를 파이썬으로 쿼리하려고합니다. 자바 스크립트를 통해이 작업을 수행합니다. 왜냐하면 나무와 비슷한 구조로 손주와 같은 것을 얻고 싶기 때문입니다. 내 코드는 다음과 같습니다MongoDB JavaScript 큰 결과 집합
col = db.getCollection(...)
var res = new Array();
col.find({ "type" : ["example"] }).forEach(
function(entry)
{
v1 = col.find({"_id" : entry["..."]})
... (walk through the structure) ...
vn = ...
res.push([v1["_id"], vn["data"]]);
}
);
return res;
을 지금, 나는이 결과 배열은 매우 (너무) 커져 메모리가 초과 가져옵니다 문제에 봉착했습니다. 검색 결과를 배열로 푸는 대신 결과를 얻는 방법이 있습니까?
'forEach' 대신'next'를 사용 하시겠습니까? 한 번에 하나의 결과 만 수행하십시오. – Halcyon
수익률로 달성하고자하는 것을 명확히 할 수 있습니까? 일괄 적으로 작업을 수행하는 것이 목표 인 경우 밀어 넣은 레코드 카운터를 배열에 보관할 수 있습니다. 배치 크기에 도달하면 현재 레코드 세트에서 작업 한 후 배열을 지 웁니다. –
도움 주셔서 감사합니다. 나는 서버 측에서 복잡한 쿼리를 수행하고 파이썬 측에서 모든 결과를 얻고 싶다. 내가 맞으면 서버 측의 작은 배열로 작업하거나 그 중 하나를 결과로 돌려 주어 여러 개의 쿼리가 필요할 것입니다. 클라이언트 측에서 모든 결과를 처리하고 결과를 배치에 배치하고 싶습니다. – user2124362