저는 MongoDB in Action을 읽었으며 문서에서 다 대다 관계를 쿼리 할 때 Ruby 드라이버를 사용하여 어떻게 그의 예제 쿼리를 작성했는지 이해하는 데 어려움이 있습니다. .MongoDB에서 다 대다 관계를 쿼리하십시오.
쿼리는 products
및 category
컬렉션이있는 특정 범주의 모든 제품을 찾습니다.
db.products.find({category_ids => category['id']})
제품 문서는 다음과 같이이다 :
doc =
{ _id: new ObjectId("4c4b1476238d3b4dd5003981"),
slug: "wheel-barrow-9092",
sku: "9092",
name: "Extra Large Wheel Barrow",
description: "Heavy duty wheel barrow...",
details: {
weight: 47,
weight_units: "lbs",
model_num: 4039283402,
manufacturer: "Acme",
color: "Green"
},
category_ids: [new ObjectId("6a5b1476238d3b4dd5000048"),
new ObjectId("6a5b1476238d3b4dd5000049")],
main_cat_id: new ObjectId("6a5b1476238d3b4dd5000048"),
tags: ["tools", "gardening", "soil"],
}
그리고 CATEGORY의 문서는 다음과 같이이다 : 저자는 원예 용 도구 범주에있는 모든 제품을 조회하려면 코드가 간단하다 "라고
doc =
{ _id: new ObjectId("6a5b1476238d3b4dd5000048"),
slug: "gardening-tools",
ancestors: [{ name: "Home",
_id: new ObjectId("8b87fb1476238d3b4dd500003"),
slug: "home"
},
{ name: "Outdoors",
_id: new ObjectId("9a9fb1476238d3b4dd5000001"),
slug: "outdoors"
}
],
parent_id: new ObjectId("9a9fb1476238d3b4dd5000001"),
name: "Gardening Tools",
description: "Gardening gadgets galore!",
}
은 누군가가 나에게 좀 더 설명해 주시겠습니까? 나는 아직도 이해할 수없는 그가 쓴 어떻게 쿼리 :(
감사합니다.
감사합니다. Mongodb in Action 책은 이와 같은 언어 예제에 Ruby 코드를 사용하고 있습니다. – Bohn
그래서 그의 예에서 'id'는 특별한 의미가 있으며 그대로 전달되어야합니다. 그것이 혼란 스럽습니다. – Bohn
책을 볼 수 없으면'category_id'는 저자가 원하는 범주의 ID로 채운 배열/변수 일 수 있습니다 (위의 대답 1 단계). 나는 루비를 모른다. 그래서 코드를 해석하는 법을 알기가 어렵다. 받아 줘서 고마워 :) – chrisbunney