2013-08-30 4 views
2

필자에게는 비슷한 데이터가있는 별도의 어레이가있는 두 개의 필드가 있습니다.mongo에서 두 배열의 크기를 비교하는 방법은 무엇입니까?

첫 번째 이름 및 ID가 있습니다. 두 번째 별명이 있습니다.

2 개의 숫자가 같은지 확인하고 싶습니다. 일치하지 않으면 해당 문서의 mongoID를 알고 싶습니다.

어떻게하면됩니까?

+1

하는 당신의 노력을 보여주십시오 무엇 해냈다. 그때까지는 우리가 너를 도울 수 없어. – Sankumarsingh

+0

그것을 추적하는 필드를 추가하기 만하면됩니다. 매우 신뢰할 수 있고 매우 효율적입니다. – WiredPrairie

답변

1

MapReduce으로 가능합니다. 문서가 보이는 경우

예를 들어
map = function(){ 
    if(this.array1.length!=this.array2.length) 
    emit(this_id,1); 
} 

reduce = function(key,values){ return key;} 

이 결과 인라인 얻을 :

document: { array1: [ a, b], array2: [c] } 

처럼 당신은 mapreduce 기능을 쓸 수

db.foo.mapReduce(map,reduce,{out:{inline:1}}).results 
+0

나는 mr 엔진의 화재보다 그것을 평가하려고한다. tbh – Sammaye

+0

이것은 완벽한 대답이다. –

관련 문제