포함 된 문서의 내용을 기반으로 문서 모음을 선택하려고합니다.임베디드 mongo 문서 모음을 쿼리하여 기준 목록이있는 특정 문서를 추출하는 방법은 무엇입니까?
내 모델은 다음과 같습니다
class box
embeds_many :items
field :stuff
end
class item
field :attrib1
field :attrib2
field :array
end
을 그래서 그것의 항목의 속성에 상자 기지의 컬렉션을 추출하기 위해 다음과 같이 조회 할 수 있습니다이 구조 :
Box.any_in(:'items.array' => [:value1, :value2]).where(:'items.attrib1'=> 'x', :'items.attrib2' => 'y').order_by([:stuff, :asc])
그래서이 쿼리 제공 내 속성 1 = x 및 속성 2 = y 및 값 1 또는 값 2를 포함하는 항목이 포함 된 상자 모음
이것은 모두 훌륭하지만 p 문제는 모든 속성을 하나의 항목에 묶어야한다는 것입니다. 사실 그 attrib1 = 'X'와 attrib2 = 'Y'그 상자에,하지만 불행히도 아니기 때문에 쿼리의
box
{
items
[
{array => [value1], attrib1 => "x", attrib2 => "z"}
{array => [value1], attrib1 => "h", attrib2 => "y"}
]
}
기준의의가 존중 : 내 말은이 쿼리는 다음과 같이 상자 나 반환 것입니다 동일한 항목 내에서
그게 내가 원하는, 상자의 목록은 동일한 항목 내에 원하는 모든 값을 가진 항목이 포함되어 있습니다.
어떻게하면됩니까? 나는 전혀 모른다? 나는
알렉스
태그가 지정되었습니다. 이것은 임베디드 소프트웨어 질문이 아닙니다. 자세한 내용은 태그 위키를 참조하십시오. –