글쎄, 나는 집계 문제로 어려움을 겪고있다. 문제를 해결하는 가장 쉬운 방법은 map reduce를 사용하거나 별도의 쿼리를 찾은 다음 비동기 라이브러리 도움말을 반복하는 것입니다.mongodb에서 데이터 집계,지도 축소 또는 다른 방법?
는 스키마는 여기에 있습니다 : 그런데 가장 큰 문제는 시리즈 [0] .DATA 배열이 이루어진 것을
data = {
categories: [ 'keyword1', 'keyword2', 'keyword3' ],
series: [
{
name: 'google',
data: [33, 43, 22]
},
{
name: 'yahoo',
data: [12, 5, 3]
}
]
}
:
db.keyword
keyword: String
start: Date
source: String(Only one of these (‘google’,’yahoo’,’bing’,’duckduckgo’))
job: ref db.job
results: [
{
title: String
url: String
position: Number
}
]
db.job
name: String
keywords: [ String ]
urls: [ String ]
sources: [ String(‘google’,’yahoo’,’bing’,’duckduckgo’) ]
지금 내가이 양식에 데이터를 취할 필요 db.job.urls를 db.keyword.results.url과 비교 한 다음 위치를 얻습니다. 검색어를 단순화 할 수있는 방법이 있습니까? 많은 맵 축소 예제를 살펴 보았지만 맵핑 할 데이터와 줄이려는 데이터의 올바른 방법을 찾을 수 없습니다.
나는 이것을 받아 들일 양식을 이해하지 못합니다. 출력에 "데이터"배열이란 무엇입니까? 모든 키워드의 모든 결과를 하나의 문서에 넣으려고합니까? 여러 컬렉션간에 MapReduce를 수행 할 수는 없습니다. – kristina
글쎄, 함수 범위는 어떨까요? 맵 내부의 외부 변수에 액세스하고 함수를 줄일 수 있습니까? –
"scope"매개 변수에 의해서만 전달됩니다. – kristina