이 비디오에서 다시 돌아와서 데이터를 임베드하여 두 몽구스 모델 간의 연관성을 일대일 관계로 설정하는 방법을 보여 주며 사용자 및 게시자와 함께 작업 할 것입니다.
따라서 Facebook이나 블로그 앱처럼 사용자가 많고 사용자가 많은 게시물을 가질 수 있지만 게시물은 한 명의 사용자에게 속합니다. 여기서는 경로와 템플릿으로 실제 앱을 만들지 않을 것입니다.
우리는 데이터와 데이터 모델링에 초점을 맞출 것입니다.
그래서 저는 제가 만든이 연관 디렉토리 안에 새로운 파일을 만들어 시작할 것입니다.
원하는 곳 어디에서나이 작업을 수행 할 수 있습니다.
그것은 하나의 파일이 될 것이고 저는 이것을 J.S라는 embed라고 부를 것입니다. 그리고 나는 그것을 열어 볼 것입니다. 여기에 내가 아직 설치하지 않은 몽구스가 필요합니다. 그래서 다음에 그것을 할 것이고 PM은 몽구스를 설치합니다. 그리고 그것은 잠시 걸릴 것입니다.
우리는 거기에 갈.
약간의 공간을 만들어 봅시다.
일단 우리가 원할 때 다음 작업은 데이터베이스에 연결하여 mongoose가 연결되도록합니다. 이것은 데이터베이스의 이름과 완전히 일치하지만 다시 Mangu DB 콜론 슬래시 (/)를 사용해야합니다. 로컬 호스트 슬래시 및 롤 호출 .
이 블로그 데모는 저것을 좋아하고 저장합니다.
이제는 사용자가있는 두 개의 모델을 정의해야하고 이제는 게시물이 있습니다.
사용자는 전자 메일과 이름 및 게시물 만 갖습니다.
제목과 내용이 있습니다.
실제 게시물 자체.
그래서 우리는 사용자가 스키마를 정의 할 필요가 있음으로 시작합니다.
지금까지 사용자 스키마는 새로운 몽구스 스키마와 동일합니다. 그리고 우리는 문자열과 이름 인 전자 메일을 가지게 될 것입니다.
그리고 지금까지 모델을 만들 것입니다.
사용자는 몽구스 모델 사용자와 동일합니다.
Cingular 버전과 사용자 스키마가 우리가 구축하고있는 것입니다.
그리고 우리는 그것을 구할 것입니다.
승인.
이제 게시물로 이동하십시오.
이번에는 또 다른 스키마를 만들려고합니다. var post schema는 새로운 몽구스 스키마와 같고, 각 게시물에는 제목뿐 아니라 문자열을 만드는 내용이 있습니다.
그리고 나서 우리는 이것을 모델 var post 모델로 바꾸는 것이 필요합니다.
권리.
그래서 두 개의 스키마가 두 개의 모델을 설정했습니다.
여기에 약간의 방을 만들어 봅시다.
그래서 우리는 우리의 게시물을 가지고 우리는 사용자가 있습니다.
그리고 이것을 실행 해 봅시다.
Node embed Dutcher Yes를 시작하기위한 구문 오류가 없는지 확인하십시오.
좋아 보인다.
이제 우리 모델이 작동하는지 확인하기 위해 단일 사용자를 만들어 보겠습니다.
그래서 여기에서 한 하단에서 나는 새 사용자를 만들려고합니다. 그래서 우리는 새로운 사용자가 새로운 사용자와 같다고 부를 것입니다. 그리고 나서 우리는 이메일과 이메일을 전달할 것입니다. 찰리가 에듀와 찰리가 될 것입니다. 브라운이 그렇게 좋아.
그런 다음 새로운 사용자가 저장하는 것을 절약 할 수 있습니다.
그런 다음 콜백에 오류를 추가하고 데이터가 다시 올 것입니다.이 데이터는 사용자뿐 아니라 사용자이기도합니다.
오류로 인해 로그 오류가 취소됩니다.
그렇지 않으면 로그 사용자를 취소 할 것입니다.
그래서 지금까지 아무런 연관성도 없습니다.
난 그냥 우리의 사용자 모델이 작동하는지 확인하기 위해 테스트하고 있습니다.
자, Dutchesse를 포함하는이 노드를 실행하자. 우리는 자동으로 생성 된 이름과 이메일로 ID를 다시 얻게된다.
좋아요. 게시물을 가지고 똑같은 것을 시도해 봅시다. 그래서 다른 사용자를 얻지는 못합니다. 그리고 우리는 새로운 게시물을 새로운 게시물과 같게 만들 것입니다. 그리고 포스트는 제목을 가지고 게시물의 제목은 사과에 대한 반영 일 것입니다. 그 글이나 내용의 텍스트.
나는 우리가 그것을 예라고 부른 내용이 될 것이라고 생각한다.
그것들은 맛있다.
괜찮아.
멋진 블로그 게시물이 있습니다.
우리는 모든 것이 잘되었는지 확인한 다음, 실제로 우리와 콜백을 다시 구할 수있는 새로운 게시물을 만들 것입니다.
이 콜백 콜백을 몽구스로 전달하는 직행을보고 있기 때문에이 패턴에 익숙해지기를 바랍니다.
우리가 Monga로 무엇인가를 할 때마다 저장 업데이트를 만들어서 결국에는 제거하고 결국에는 첫 번째 매개 변수로 오류가있는 콜백을 전달한 다음 두 번째 매개 변수로 데이터를 전달해야합니다.
괜찮아.
따라서 오류로 인해 로그가 취소 된 경우 해당 블로그 게시물로 이동하여이 두 가지가 모두 작동하는지 확인하십시오.
그것을 시도하고 우리는 작은 문제로 실행합니다.
우리가 새로운 게시물을 만들려고 할 때 게시물이 정의되어 있지 않다는 것을 알려줍니다.
그리고 우리가 우리 모델을 지위 이외의 것으로 지명했을 때 가장 논리적 인 이유가 생길 것입니다.
그리고 당신은 무엇을 알고 있습니다.
우리는 그것을 포스트 모델이라고 부르며, 우리는 그것을 잘못 명명했다는 것을 의미합니다.
그럼 게시물로 가자.
포스트 모델로 유지 한 다음 여기에서 변경할 수있었습니다.
그러나 당신이 모델을 가질 필요가없는 모델의 이름 일 수밖에없는 것은 당연한 일입니다. 모델 자체의 이름이나 자본이있는 엔티티 게시물의 이름만으로는 추가 문자가 필요하지 않습니다. 피..
알았어, 이제 일치 하네.
바로 여기에 게시하고 게시 할 수 있습니다.
이 작업을 다시 시도해 보시고 이번에는 새로운 게시물 내용을 추가하겠습니다.
그들은 사과에 대한 맛있는 제목 반영입니다.
이제 우리는 두 모델이 올바르게 작동하는지 확인 했으므로 게시 할 수 있고 사용자를 만들 수 있습니다.
그러나 현재 그들은 서로 관련이 없으며 사용자가 많은 게시물을 소유하거나 소유하고 싶은 게시물과 게시물을 한 명의 사용자에게 속하게하는 관계를 유지하기를 원합니다.
그래서 그것은 일대일 관계입니다.
그리고 그 방법을 보여주기 위해 사용자 스키마 대신 데이터를 포함시키는 방법을 사용합니다.
그래서 이렇게 보일 것입니다.
그런 다음 잠시 후에 설명하겠습니다.
우리는 사용자 내부와 게시물의 속성 내에 게시물의 속성을 갖게 될 것입니다.
우리는 많은 게시물을 가지게 될 것이고 그 일을하기 위해서 배열 내부에 포스트 스키마를 추가해야 할 것입니다.
따라서 게시물을 문자열 또는 숫자 또는 부울 값으로 만드는 대신 mongoose에게 게시물의 배열 목록을 원하고 정직하게 조금 혼란스러운 게시 스키마를 작성해야합니다.
모델 이름을 게시하는 것이 좋겠지 만 그것이 그 방법 일뿐입니다.
그것은 스키마의 이름이되어야하며 다른 문제가 있습니다. 우리가 지금 이것을 실행하면 post-chemo가 무엇인지 알지 못할 것이고 그것은 우리가 두 번째로 정의하기 때문입니다.
따라서 데이터를 임베드하는 경우 먼저 데이터를 정의해야합니다.
그래서 우리는 포스트 스키마와 포스트 모델을 정의한 다음 사용자 스키마를 정의하고 사용자 스키마 안에 포스트라는 속성 인 posts라는 속성을 추가합니다.
그래서 우리의 데이터가 이와 같이 보일 것입니다. 그렇지 않으면 우리는 사용자의 이름을 전자 메일로 보냅니다. 그리고 난 그냥 지껄이는 일을 할 것입니다. 그리고 우리는 또한 게시물과 게시물을 배열로 가질 것입니다.
그 배열 안에는 여러 개의 게시물이 있으므로 각 게시물에는 제목과 내용이 있으며 사용자는 이와 같이 많은 게시물을 가질 수 있습니다.
그래서 우리가 얻는 모든 게시물에 대해 특정 사용자의 posts 속성 대신 새 게시물이됩니다.
그럼 그걸 가져 가자.
사용자를 생성 한 다음 해당 사용자에게 게시물을 추가하여 Google에서 사용할 수있는 방법을 보여 드리겠습니다.
여기 찰리 브라운.
신규 사용자는 Charlie Brown과 같습니다.
우리가 이미 데이터베이스에 Charlie Brown을 보유하고 있기 때문에 일부 전자 메일과 이름을 변경하겠습니다.
함께 가자. 호그와트 에듀에 내 모든 것들이있다.
그리고 우리는 이것을 내 아줌마 Granger로 바꿀 것입니다.
괜찮아.
그래서 우리는 새로운 사용자를 얻고 그 사용자에게 게시물을 추가합니다.
그들은 배열이기 때문에 밀어 넣는 새로운 사용자 게시물을 작성해야합니다.
그리고 나는 새로운 지위를 밀어 넣고 지위에는 제목이 있으며, 다음 게시물의 제목은 폴리 주스 물약을 만드는 방법이 될 것이고 내용은 농담 일 것이다.
묘약 클래스는 괜찮아.
그것이 무엇이든 상관 없습니다.
그래서 우리는 제목과 약간의 내용을 가지고 있습니다. 그리고 우리는이 포스트를 우리가 여기서 정의한 새로운 사용자로 밀어 넣을 것입니다.
그리고 우리가해야 할 마지막 일은 새로운 사용자를 구하는 것입니다.
그렇게 저장하는 새로운 사용자.
그리고 우리는 실제로 이것을 이미 가지고 있으므로 이것을 재사용하고 그것을 주석 처리하지 않을 것입니다. 그리고 이것은 이것을 시도하고 저장할 것입니다.
오류가 있으면 알려줄 것입니다.
그렇지 않으면 우리에게 사용자를 표시하고 게시물에 대한 모든 내용을 주석으로 처리하고 그 내용을 저장하고 어떤 일이 발생하는지 봅시다.
그래서 우리는 당신이 정의한 우리의 포스트 스키마를 가지고 있습니다. 우리는 사용자 스키마를 가지고 있습니다. 그리고 새로운 파트는 여기에 사용자 내부의 포스트 배열을 가지고 있습니다.
그런 다음 새로운 사용자를 생성하고 해당 게시물을 게시합니다.
한번 해보 죠.
승인.
그리고 우리는이 사용자에게 우리가 여기 Hermione Granger라는 이름의 Hogwarts 이름을 상기시키는 전자 메일을 인쇄하고 게시물 대신에 새로운 게시물을 갖게됩니다.
그래서 그것은 잘 작동합니다.
이제는이 모든 것을 주석으로 처리하고 새로운 사용자를 생성하는 대신 기존 사용자를 검색하는 다른 방법을 시도해 보겠습니다.
그래서 나는 광산 채취를 할 것입니다.
그래서 나는 사용자 찾기로 그렇게 할 것입니다.
그리고 나는 그것을 찾을 것입니다.
그렇지 않으면 find는 나에게 배열을 줄 것이고 나는 한 가지만 돌려 주길 원한다.
그래서 우리는 이름이 Hermione Granger 인 곳을 찾지 못한다면 우리는 표준 콜백 오류를 수행하고이 사용자에게 전화 할 것입니다.
바라건대 당신은 지금 당장 그것에 익숙해지기를 바랍니다.
바로 여기에 우리가 몽구스로 무엇인가를 할 때마다 쓰는 콜백이 있습니다. 그리고 나서 우리는 그냥 할 것입니다.
혹시 상담 대화 오류가 그렇다면 우리는 끊임없이 사용자를 괴롭히고 나는 모든 것을 없애기 위해 여분의 브래킷을 가지고 있습니다.
그래서 이것은 단지 그녀에게 나의 새로운 새로운 아무것도 새로운 것을 찾지 않는 것입니다.
우리는 새로운 사용자를 찾는 것 뿐이며 작동합니다.
사용자가 다시 방문하도록합니다.
그녀의 이름은 그녀가 호그와트에게 돈을 이메일로 보내는 그녀의 마음입니다.
이제는 다른 게시물을 추가하고 싶다고 가정 해 봅시다.
따라서 한 명의 사용자가 여러 게시물을 가질 수 있습니다.
이제하자.
그래서 일단 우리가 사용자를 찾으면 우리는 새로운 게시물을 추가하기 위해 코드를 실행하고이 사용자는 이전과 같이 푸시를 게시하고 이번에는 다른 포스트를 밀어 넣을 것이므로 우리는 제목은 3 가지입니다.
나는 정말로 싫어하고 그 내용은 더욱더 더 많아 질 것이다.
그리고 볼드 모트.
아주 창의적인 게시물이 나에게 상기시켜줍니다. 우리는 계속해서 이것을 구할 것입니다.
따라서 우리는 여전히 사용자 저장 작업을 수행해야하며 이후에는 콜백에 추가 할 것입니다.
이 오류 중 또 하나.
그리고이 사용자에게 다시 전화 할 것입니다.
그리고 여기에 대신 오류 콘솔 로그 오류가 발생하면 로그 사용자를 취소합니다.
좋아, 그래서 이것은 어떤 사람들이 콜백이라고 부르는 것이다.
지옥 우리는 여기서 많은 콜백을 가지고 있습니다.
우리는 우리가 얻는 사용자를 찾은 다음 새로운 게시물을 추진하고 있다는 것을 알기 위해이 첫 번째 것을 가지고 있습니다.
그러나 실제로는 데이터베이스에 추가되지 않습니다.
그러면 우리는 그것을 구해야합니다.
그래서 우리는 여기서 사용자 저장 및이 사용자를 수행합니다.
이 두 가지는 사용자의 마음을 처음으로 발견했을 때 다시 돌아와서 저장하는 것을 말하며이 사용자는 저장에서 되돌아 오는 것을 말합니다.
따라서이 사용자는 여기에 새 게시물을 추가하고 데이터베이스에 저장합니다.
Mongo에서 우리에게 돌아 오는 데이터입니다. 그리고 우리는 그것을 인쇄하고 있습니다.
지금 해보 죠.
그럼이 첫 번째 대수롭지 않은 로그를 없애자.
그런 식으로 남겨주세요.
로그에 대한 우리의 계정을 방해 할 다른 코드가 실행되고 있지 않은지 확인하십시오.
실행 해 봅시다.
괜찮아.
그래서 우리는 이제 첫 번째와 두 번째로 두 개의 게시물을 가진 단일 사용자 인 Hermione을 인쇄하고 있으며 둘 다 단일 사용자의 게시 속성 내에 저장되어 있다는 것을 알 수 있습니다.
그래서 그것은 하나에서 많은 것입니다.
승인.
그것이 내가 보여주고 싶은 전부입니다.
이 점에 대해 간단히 살펴 보겠습니다.
그래서 우리는 몽구스에 앉아서 시작했습니다. 우리는 두 가지 모델을 가지고 있으며 시작하기 위해 독립적이었습니다.
그런 다음이 게시 스키마 배열을 사용자 스키마에 추가하여 연결했습니다.
이제는 사용자가 게시물 배열을 가지고 있으며 빈 페이지로 시작됩니다.
그런 다음 포스트 닷 푸시를 눌러이를 추가하고 다음 비디오에 저장하여 객체 참조라고하는 것을 사용하여 데이터를 연결하는 다른 방법을 보여줍니다.