2016-09-15 7 views
0

배열에 나열된 모든 tags을 포함하는 모든 submissions 문서를 가져 오려고합니다.

나의 현재 코드는 다음과 같습니다

BSON::InvalidKey at/
NilClass instances are not allowed as keys in a BSON document. 

또한 다음 가하는 것을 주목해야한다 :

submissions.find({ tags: { $all => tags } }) 
print tags.count 

그러나, 실행에, 나는 두 번째 줄에 다음과 같은 오류가 나타날 수으로 작동해야합니다 (원하는 결과는 얻지 못하더라도).

submissions.find({ tags: tags }) 
print tags.count 

원본 문서를 수정하여 원하는 문서를 올바르게 찾을 수 있습니까?

답변

1

하여 MongoDB에서 $ 모든 표현은 :이 경우

submissions.find({ tags: { $all: tags }}); 

는 "태그"는 배열이어야합니다 (tags = ['tag1','tag2','tag3'])

왜 당신이 사용 할 "$ 모든 => 태그"대신 " $ all : tags "?

+0

처음에 시도했지만 구문 오류가 발생하여 변경했습니다. 여러분이 이것을 지적한 후에, '$ all'은 오류의 원인 인 루비의 문자열이라고 생각했습니다. 감사! –