2012-10-29 2 views
1

누군가가 MongoDB에서 참조가 수행되는 방법을 설명 할 수 있습니까? 예 here은 실제로 도움이되지 않습니다. 내가 원하는 것은 쿼리를 문서를 가져 오도록 지정하는 옵션뿐 아니라 다른 문서의 데이터도 가져올 수 있습니다.MongoDB 수동 참조, 수행 방법, 샘플 코드

이 작업은 Manual References을 사용하여 수행되며 완료 방법을 보여주는 예제/샘플 코드가 필요합니다. 사용자 및 항목 테이블이 있다고 가정합니다. 항목은 특정 사용자에게 속합니다. 특정 항목에 대한 쿼리에서 반환 한 각 문서와 함께 사용자의 세부 정보를 가져 오려고합니다. 따라서 항목 1 - 20을 얻을 수도 있지만 나중에 사용자의 데이터를 쿼리하는 쿼리를 만드는 대신 사용자의 세부 정보를 원합니다.

dbReference는 권장하지 않습니다. 또한 가능하다면 .NET 용 공식 MongoDB C# Driver를 사용하여 수동 참조를 이용하는 쿼리 유형을 사용하는 방법을 알게되어 기쁩니다. 감사합니다

+1

dbReference는 용도가 있습니다. 대상 컬렉션을 모르는 경우 자체 ID를 작성하는 좋은 방법이며, 일반적으로 오용됩니다. "수동 참조를 활용하는 해당 유형의 쿼리를 사용하는 방법을 알면 기쁘게 생각합니다."실행하려는 쿼리에 따라 다릅니다. 수동 참조는 기본적으로 DB 서버 끝이 아닌 코드에서 클라이언트 측에 결합되어 있습니다. 나는. 예를 들어 사용자 행을 쿼리 한 다음 모든 항목을 쿼리하거나 사용자 행에 항목을 포함 시키거나 더 많은 쿼리를 작성하는 것에 대해 걱정하지 않아도 SQL 결과 집합이 아닙니다. – Sammaye

답변

0

당신은 내가 특정 항목에 대한 쿼리에 의해 반환되는 각 문서와 함께 사용자의 세부 사항을 얻으려면

을 썼다.

이것은 SQL과 다릅니다. 너는 함께 물건을 가져 오지 않는다.

모든 수동 참조는 두 가지 별도의 쿼리를 작성한다는 것을 의미합니다. 하나는 초기 문서를 가져오고 다른 하나는 첫 번째 문서의 참조 ID를 통해 관련 문서를 가져옵니다.

두 개의 서로 다른 쿼리에서 작업하는 것이 더 많은 작업처럼 보일 수 있지만 실제로는 매우 효율적입니다.