2016-06-03 1 views
0

현재 내 컬렉션 (dburles : collection-helpers 사용)에 대한 도우미가 있습니다.커서상의 유성 - 투영?

예를 들어 My Teams 컬렉션에서 다음 도우미를 정의했습니다. 나는 클라이언트에서이 도우미의 사용을 만들고있어 내 publications.js에서

getUnlockedProblems: function() { 
    return Problems.find({requirements: {$not: {$elemMatch: {$nin: this.getSolvedIds()}}}}); 
}, 

, 나는 본질적으로 grader 필드 필터링을 제외하고,이 같은 쿼리를 사용하는 팀의 해결 문제를 게시하는 간행물이 있습니다

return Problems.find({requirements: {$not: {$elemMatch: {$nin: team.getSolvedIds()}}}}, {fields: {grader: 0}}); 

대신 return team.getUnlockedProblems().project({fields: {grader: 0}})과 같은 작업을 수행 할 수있는 방법이 있습니까? 그래서

+1

'getUnlockedProblems'에'options' 매개 변수를 허용 가능한 해결책으로 추가하고 있습니까? –

+0

@DavidWeldon 그 작품을 추측한다. 내가 didnt하는 이유가 그것을하는 것을 생각하는지 명확히하지 않는다! 덕분에 – arxenix

+0

좋습니다. 완전을 위해, 나는 나의 코멘트를 답했다. –

답변

1

컬렉션 도우미가 일반 함수이다 쿼리를 다시 사용할 수 있습니다, 그래서 당신과 같이 getUnlockedProblemsoptions 매개 변수를 추가하여이 문제를 해결 할 수 있습니다

getUnlockedProblems: function(options) { 
    return Problems.find({requirements: ...}, options); 
} 

그런 다음이처럼 사용할 수 있습니다

+0

그냥 다음과 같이 추가하면됩니다. getUnlockedProblems : function (options = {}) {'을 사용하여 함수를 정의 했으므로 기존 호출을 다시 작성할 필요가 없습니다. – arxenix

+1

코드는 더 명확하지만,이 경우 find (selector, undefined)는 find (selector)와 동일하므로 반드시 필요하지는 않습니다. –