이 비디오에 오신 것을 환영합니다. 객체 참조를 사용하여 데이터를 연결하는 다른 방법을 보여 드리겠습니다.
시작하기 전에 여기에 같은 디렉토리에 새 파일을 만들겠습니다. 제가이 파일을 호출하겠습니다.
참고 문헌은 J.를 가르쳤다.
그리고 나는 이전 레슨의 모든 파일을 그 파일에 복사 할 것이고 이것을 바꿀 것입니다.
내가해야 할 첫 번째 일은 우리가 사용하는 데이터베이스를 변경하는 것입니다. 그러면 우리는 상충되는 것이 아니며 이전에 수행 한 작업을 덮어 쓰지 않습니다.
그래서 나는 blogg demo라는 이름을 밑줄 것입니다.
괜찮아.
그리고 저는 앞으로 나아가서 여기서 많은 것들을 제거 할 것입니다.
모델에있는 우리의 스키마를 제외하고는 거의 모든 것이 있습니다.
먼저 데이터를 참조하는 것과 참조하는 것을 의미하는 것으로 시작하겠습니다.
마지막 비디오에서 마지막으로했던 것은 우리가 이름과 함께 이와 비슷한 모습의 사용자가있는 곳에 데이터를 삽입 한 것입니다. 거기에는 이메일도 있습니다.
그리고 나서 POST 배열이 있고 그 배열의 각 게시물은 배열과 실제로 같은 제목과 내용이 저장되어 있습니다.
우리는 거기에 갈.
그리고 우리는 여러분이 원하는만큼 많은 수의 여섯 개를 알고 POST 배열 내부의 다른 게시물을들을 수 있습니다.
이제이 수업에서 보여 드릴 내용은 포스터 배열이 있고 실제 게시물보다는 여기에 저장할 모든 것을 포함한다는 점을 제외하고는 매우 유사합니다.
우리는 많은 ID를 가지게 될 것입니다. 그래서 우리는 이렇게 긴 ID를 가질 것입니다.
그리고 이러한 아이디어는 개별 게시물에 해당합니다.
그러면 여기에 ID가 같고 다른 제목을 붙인 게시물이 여기에 있습니다.
다시 한번 중요한 차이점은 이름 참조가 나오는 ID를 저장한다는 것입니다.
전체 게시물을 포함하지 않고 다른 게시물의 ID를 참조하고 있습니다.
좋아, 시작하자.
그리고 게시물을 게시 스키마의 배열로 유지하는 대신 스키마를 약간 변경해야합니다.
우리가 실제로하는 일은 그것을 배열로 만듭니다.
그러나 우리는 객체를 전달할 것이고 객체는 이와 같이 보일 것입니다.
나는 공간이 조금 밖에 나가는 것을 의미합니다.
그리고 우리의 객체는 두 개의 주요 속성 유형을 가질 것이고 ref와 type은 mongoose가되고 스키마 유형은 객체 ID와 ref가 게시 될 것입니다.
그래서 내가 여기서 한 일에 대해서 이야기 해 봅시다.
나는 사용자 스키마에서 게시물 속성이 있고 배열이라고하지만 여기에있는 게시물 배열이 아니라고 말했습니다.
또는 게시 스키마의 배열입니다.
실제로는 객체 ID의 배열입니다.
그리고 이것은 우리가 그 구문을 쓰는 방법 일뿐입니다.
그것은 게시물에 속하는 몽구스 개체 ID이며 우리는 저장할 수 있습니다.
그리고 우리가 잘못한 일을하지 않았는지 확인하기 위해 파일을 실행할 수 있습니다. 오류가 발생하지 않도록하십시오.
큰.
이제 단일 사용자를 만들어서 나중에 포스트를 추가 할 수 있습니다.
그래서 사용자가 만들면이 하나가 gmail 닷컴에 Bob의 이메일을 보내고 이름은 Bob Filcher가 될 것이고 우리는 저장하고 우리는 그냥 그대로두고 우리는 이것이 콜백을 추가하는 대신 작동합니다.
이제 첫 번째 사용자를 만들 것입니다.
파일을 실행 해 봅시다.
괜찮아.
그래서 우리는 아무것도 보지 못한다. 그러나 우리는 Mangu에 들어가고, 그것을 조사 할 수 있었다.
따라서 Digby의 사용 로그 데모도 밑줄로 표시하면 사용자를 찾을 수 있고 이름이 한 명의 사용자가 있습니다.
Bob Belcher 이메일 gmail dot co.kr에서 Bob은 아직 게시물을 추가하지 않았기 때문에 비어 있습니다.
여기에서 나가자. 그러면 내가하고 싶은 다음 일은이 사용자에게 소식을 추가하는 것이다. 나는 그 성명서를 없애고 나는 당신이 그것을 볼 수 있고 내가 무엇을 할 수 있도록 나올 것이다. 새 게시물을 만드는 것입니다.
그래서 post doc를 만들고 우리는 사용자와 독립적으로 만들고 있습니다.
그래서 우리는 그 지위를 만들고 있습니다. 그리고 우리는 최고의 햄버거와 그 다음 내용을 요리하는 법의 제목을 부여 할 것입니다. 단지 법의 어쩌구 저쩌구로 ​​지금 채우지 않고 채우지 말고 저축 할 것입니다. 게시물을 작성하고 이번에는 콜백 오류 및 포스트를 추가하고 그 로그 포스트를 취소하고 시간 만 위해 오류를 처리하고 파일을 실행하지 않을 것입니다.
이제 ID가있는 데이터베이스에 새 게시물을 추가했습니다.
이 I.D.를 기억하십시오. 모든 것을 기억하십시오 5 6 2 5 8 3 7 8.
이제 농담이야.
그러나 그것이 어떻게 생겼는지 기억하십시오.
그리고 우리는 우리의 내용과 제목을 가지고 있습니다.
괜찮아.
그래서 거기에서 나갑시다.
그래서 우리가 다음에하고 싶은 것은 해당 ID를 사용하여 게시물과 사용자를 어떻게 연결할 수 있는지에 대한 이야기입니다.
그리고 그 일을하기 위해 나는 실제로 다른 지위를 만드는 단계를 밟을 것입니다.
그래서 이것을 최고의 버거를 만드는 방법이라고 부릅시다.
파트 2 그리고 이것은 새로운 게시물을 만들 것입니다 그리고 우리는 그 게시물을 저장 한 다음 우리는 사용자 PABX를 찾을 것입니다.
그래서 우리는 사용자 찾기를 할 것이고 우리는 당신의 이름을 찾을 것입니다.
이번에는 전자 우편이 gmail dot co.kr의 Bob 인 경우이 코드를 실행 한 다음 발견 된 사용자를 호출 할 것입니다.
승인.
그렇게 많이 진행됩니다.
게시물이 생성되면 게시물을 만듭니다.
이 경우 여기에 사용자가 이미 생성되었다는 것을 알게되고 필요한 경우 오류를 처리하게됩니다.
그렇지 않으면 우리는 사용자 게시물에 게시물을 추가 할 것입니다.
그래서 여기에 사용자가 올린 글이 있습니다. 우리는 푸시 포스트를 밀어 넣을 것입니다. 포스트는 우리가 방금 작성한 게시물을 가리 킵니다. 제목이 데이터베이스입니다. Vestberg를 요리하는 방법 또는 컨텐츠 어쩌구 저쩌구.
작동하면 저장합니다.
게시물을 저장 한 다음 사용자를 수정하는 게시물 변수가 있습니다.
이 경우에는 gmail에서 전자 메일 Bob과의 연결입니다.
그런 다음 찾으면 사용자 포스트 배열에 새 게시물을 추가 할 것입니다.
그럼 저축합시다.
그래서 나중에 다른 발견 된 사용자가 저장을해야 할 필요가 있습니다.
네, 또 다른 콜백이 필요합니다.이 콜백에는 오류가 있으며,이 데이터를 호출하여 실제로 발생하는 일을 분명히 알립니다.
그리고 여기에서는 오류를 다시 처리하고 로그 데이터를 취소 할 오류가없는 경우에 대해 설명합니다.
우리가 많이 여기 있습니다.
그래서 게시물을 만들어 사용자를 찾은 다음 그 게시물을 사용자 포스트에 푸시하고 사용자를 저장 한 다음 데이터를 인쇄하면 완료됩니다.
우리가 얻는 것을 보자.
괜찮아.
그래서 효과가있었습니다.
여기에 우리의 사용자 이름 Bob Belcher 이메일이 있습니다.
여기에 사용자 ID가 있고 게시물 대신 우리가 가지고있는 모든 것은 하나의 항목을 가진 배열이며 객체 ID이고 대 embed J.S. 여기서 우리는 임베디드 데이터로 작업하고있었습니다.
우리는 전체 게시물을 가지고있어서이 배열 대신에 실제로 데이터를 보았습니다.
이제 ID를보고있는 중입니다.
이제 하나 더 추가하겠습니다.
그래서 우리는 3 부를 할 것입니다.
그리고 저것의 원본 대신에 어쩌구 저쩌구.
따로 구별하는 것이 더 쉽도록 단지 수수께끼처럼 보일 것입니다.
그리고 영사가 그 지위를 추가 할 것입니다.
이제 여기에 두 개의 객체 ID가 있고 각 객체는 개별 게시물에 해당합니다.
승인.
그래서 그것이 우리가 그들을 연관시킬 수있는 방법입니다.
그러나 이제 우리는이 객체 ID를 어떻게 취하고 올바른 게시물을 찾을 수 있는지 알아야합니다.
우리가 사용자를 찾고 싶다고합시다.
그런 다음 사용자 ID뿐만 아니라 게시물도 게시하고 싶지만 모든 데이터를 원합니다.
그래서 나는 콘솔을 깨끗하게 할 것이고 나는 또한이 거대한 짐승을 여기서 논평 할 것이다.
그래서 우리가하고 싶은 것은 사용자를 찾고 그 사용자에 대한 모든 게시물을 찾는 것입니다.
실제로 한 번에 그렇게 할 수있는 방법이 있습니다.
그래서 우리는 사용자를 먼저 찾아야합니다.
그래서 사용자가 찾아서 우리는 다시 하나를 찾은 다음 통과해야하고 찾고있는 것은 이메일이 될 것입니다. gmail 닷컴의 Bob입니다.
그리고 이것은 새로운 것입니다.
그래서 우리는 전에 이것을 보지 못했습니다.
우리는 게시물을 채우고 exec를 배치 할 채우기를 채우고이 모든 것을 잠깐 설명 할 것입니다.
승인.
그래서 여기서 한 것은 여러 조각으로 구성된 더 긴 쿼리를 작성한 것입니다.
그래서 우리는 사용자를 찾고 있습니다.
그리고 실제 필드 게시물을 채울이 채워지는 게시물을 변경하면 모든 해당 개체 ID가 올바른 데이터를 찾은 다음 게시물 배열에 붙여 넣은 다음 exec를 실행하여 실제로 쿼리를 시작합니다.
그래서 좀 이상합니다.
우리가 찾는 중입니다.
그러나 여기서 우리는 콜백을 사용하지 않고 있으며, 우리는 populate를 바꾸고 있습니다. 그리고 나서 우리는 실제로 이것을 끝내게 될 Dot exec를주고 있습니다.
그래서 우리는 코드를 실행할 때 콜백을 exec에 전달합니다.
그리고 우리가이 일을 올바르게한다면.
오류가 있는지 확인해 봅시다.
첫 번째위원회는 오류를 로그합니다.
그렇지 않으면 사용자가 posts 속성 내에 모든 게시물을 미리 채워서 로그 사용자를 취소하고이를 실행 해 봅니다.
이것을 제외하고 모든 것이 주석 처리되었는지 확인하십시오.
뛰자.
그리고 당신은 무엇을 알고 있습니다.
그것은 효과가 있었다.
그래서 우리는 사용자 이름을 gmail dot com에서 Bob Belsher 이메일 Bob입니다.
하지만 이제 게시는 객체 ID의 배열이 아닙니다.
실제로 거기에 전체 게시물이 있습니다.
둘 다.
따라서 콘텐츠 및 제목 콘텐츠 및 제목이 무엇인지 알 수 있습니다.
그래서 우리가했던 모든 것을 요약하기 위해 여기에 보이는 것과 같은 데이터를 객체 ID와 함께 저장합니다.
두 개체 ID를 볼 수 있고 두 번째 쿼리를 통해 데이터를 검색하고 Saray 게시물에 해당 데이터를 채우는 데 필요한 모든 데이터를 채 웁니다.
그래서 우리는 왜 우리가 다른 것을 사용하는지 궁금해 할 것입니다.
언제 데이터를 삽입 할 것인가? 객체 ID 참조를 언제 사용할 것인가?
그리고 그것은 우리가 캠프 대신 사용하는 것과 관련하여 해결할 정말로 중요하고 중요한 질문입니다.
짧은 대답은 그것이 달려 있다는 것입니다.
스타일과 거의 모든 상황을 통해 얻을 수 있습니다.
그러나 일반적으로 참조 또는 퍼가기 데이터를 사용하여 수행중인 작업을보다 잘 수행 할 수 있습니다. 우리가 캠프를 거치면서 의견과 사용자를 추가하기 시작하면 추가 할 것입니다. 등급 및 사진 및 이러한 모든 다양한 기능을 제공합니다.