1
00:00:00,690 --> 00:00:07,430
이 비디오에 오신 것을 환영합니다. 객체 참조를 사용하여 데이터를 연결하는 다른 방법을 보여 드리겠습니다.

2
00:00:07,620 --> 00:00:13,260
시작하기 전에 여기에 같은 디렉토리에 새 파일을 만들겠습니다. 제가이 파일을 호출하겠습니다.

3
00:00:13,540 --> 00:00:15,590
참고 문헌은 J.를 가르쳤다.

4
00:00:16,530 --> 00:00:23,560
그리고 나는 이전 레슨의 모든 파일을 그 파일에 복사 할 것이고 이것을 바꿀 것입니다.

5
00:00:23,610 --> 00:00:30,730
내가해야 할 첫 번째 일은 우리가 사용하는 데이터베이스를 변경하는 것입니다. 그러면 우리는 상충되는 것이 아니며 이전에 수행 한 작업을 덮어 쓰지 않습니다.

6
00:00:30,900 --> 00:00:35,610
그래서 나는 blogg demo라는 이름을 밑줄 것입니다.

7
00:00:35,820 --> 00:00:36,410
괜찮아.

8
00:00:36,540 --> 00:00:39,490
그리고 저는 앞으로 나아가서 여기서 많은 것들을 제거 할 것입니다.

9
00:00:39,690 --> 00:00:43,410
모델에있는 우리의 스키마를 제외하고는 거의 모든 것이 있습니다.

10
00:00:43,650 --> 00:00:48,230
먼저 데이터를 참조하는 것과 참조하는 것을 의미하는 것으로 시작하겠습니다.

11
00:00:48,480 --> 00:00:57,700
마지막 비디오에서 마지막으로했던 것은 우리가 이름과 함께 이와 비슷한 모습의 사용자가있는 곳에 데이터를 삽입 한 것입니다. 거기에는 이메일도 있습니다.

12
00:00:57,720 --> 00:01:11,910
그리고 나서 POST 배열이 있고 그 배열의 각 게시물은 배열과 실제로 같은 제목과 내용이 저장되어 있습니다.

13
00:01:11,910 --> 00:01:12,790
우리는 거기에 갈.

14
00:01:13,590 --> 00:01:20,270
그리고 우리는 여러분이 원하는만큼 많은 수의 여섯 개를 알고 POST 배열 내부의 다른 게시물을들을 수 있습니다.

15
00:01:20,570 --> 00:01:33,380
이제이 수업에서 보여 드릴 내용은 포스터 배열이 있고 실제 게시물보다는 여기에 저장할 모든 것을 포함한다는 점을 제외하고는 매우 유사합니다.

16
00:01:33,570 --> 00:01:42,120
우리는 많은 ID를 가지게 될 것입니다. 그래서 우리는 이렇게 긴 ID를 가질 것입니다.

17
00:01:42,270 --> 00:01:46,250
그리고 이러한 아이디어는 개별 게시물에 해당합니다.

18
00:01:46,250 --> 00:01:57,130
그러면 여기에 ID가 같고 다른 제목을 붙인 게시물이 여기에 있습니다.

19
00:01:57,480 --> 00:02:03,980
다시 한번 중요한 차이점은 이름 참조가 나오는 ID를 저장한다는 것입니다.

20
00:02:04,140 --> 00:02:09,520
전체 게시물을 포함하지 않고 다른 게시물의 ID를 참조하고 있습니다.

21
00:02:09,900 --> 00:02:11,180
좋아, 시작하자.

22
00:02:11,370 --> 00:02:17,570
그리고 게시물을 게시 스키마의 배열로 유지하는 대신 스키마를 약간 변경해야합니다.

23
00:02:17,610 --> 00:02:20,400
우리가 실제로하는 일은 그것을 배열로 만듭니다.

24
00:02:20,490 --> 00:02:25,030
그러나 우리는 객체를 전달할 것이고 객체는 이와 같이 보일 것입니다.

25
00:02:25,080 --> 00:02:27,190
나는 공간이 조금 밖에 나가는 것을 의미합니다.

26
00:02:27,420 --> 00:02:47,090
그리고 우리의 객체는 두 개의 주요 속성 유형을 가질 것이고 ref와 type은 mongoose가되고 스키마 유형은 객체 ID와 ref가 게시 될 것입니다.

27
00:02:47,130 --> 00:02:49,020
그래서 내가 여기서 한 일에 대해서 이야기 해 봅시다.

28
00:02:49,050 --> 00:02:58,110
나는 사용자 스키마에서 게시물 속성이 있고 배열이라고하지만 여기에있는 게시물 배열이 아니라고 말했습니다.

29
00:02:58,750 --> 00:03:00,870
또는 게시 스키마의 배열입니다.

30
00:03:00,870 --> 00:03:03,570
실제로는 객체 ID의 배열입니다.

31
00:03:03,660 --> 00:03:06,080
그리고 이것은 우리가 그 구문을 쓰는 방법 일뿐입니다.

32
00:03:06,330 --> 00:03:11,890
그것은 게시물에 속하는 몽구스 개체 ID이며 우리는 저장할 수 있습니다.

33
00:03:12,120 --> 00:03:17,300
그리고 우리가 잘못한 일을하지 않았는지 확인하기 위해 파일을 실행할 수 있습니다. 오류가 발생하지 않도록하십시오.

34
00:03:17,310 --> 00:03:18,560
큰.

35
00:03:18,600 --> 00:03:23,520
이제 단일 사용자를 만들어서 나중에 포스트를 추가 할 수 있습니다.

36
00:03:23,640 --> 00:03:45,770
그래서 사용자가 만들면이 하나가 gmail 닷컴에 Bob의 이메일을 보내고 이름은 Bob Filcher가 될 것이고 우리는 저장하고 우리는 그냥 그대로두고 우리는 이것이 콜백을 추가하는 대신 작동합니다.

37
00:03:45,810 --> 00:03:48,830
이제 첫 번째 사용자를 만들 것입니다.

38
00:03:48,900 --> 00:03:53,160
파일을 실행 해 봅시다.

39
00:03:53,160 --> 00:03:53,700
괜찮아.

40
00:03:53,880 --> 00:03:58,630
그래서 우리는 아무것도 보지 못한다. 그러나 우리는 Mangu에 들어가고, 그것을 조사 할 수 있었다.

41
00:03:58,640 --> 00:04:12,070
따라서 Digby의 사용 로그 데모도 밑줄로 표시하면 사용자를 찾을 수 있고 이름이 한 명의 사용자가 있습니다.

42
00:04:12,150 --> 00:04:19,740
Bob Belcher 이메일 gmail dot co.kr에서 Bob은 아직 게시물을 추가하지 않았기 때문에 비어 있습니다.

43
00:04:19,920 --> 00:04:32,330
여기에서 나가자. 그러면 내가하고 싶은 다음 일은이 사용자에게 소식을 추가하는 것이다. 나는 그 성명서를 없애고 나는 당신이 그것을 볼 수 있고 내가 무엇을 할 수 있도록 나올 것이다. 새 게시물을 만드는 것입니다.

44
00:04:32,430 --> 00:04:38,080
그래서 post doc를 만들고 우리는 사용자와 독립적으로 만들고 있습니다.

45
00:04:38,190 --> 00:05:13,260
그래서 우리는 그 지위를 만들고 있습니다. 그리고 우리는 최고의 햄버거와 그 다음 내용을 요리하는 법의 제목을 부여 할 것입니다. 단지 법의 어쩌구 저쩌구로 ​​지금 채우지 않고 채우지 말고 저축 할 것입니다. 게시물을 작성하고 이번에는 콜백 오류 및 포스트를 추가하고 그 로그 포스트를 취소하고 시간 만 위해 오류를 처리하고 파일을 실행하지 않을 것입니다.

46
00:05:13,980 --> 00:05:18,120
이제 ID가있는 데이터베이스에 새 게시물을 추가했습니다.

47
00:05:18,160 --> 00:05:22,950
이 I.D.를 기억하십시오. 모든 것을 기억하십시오 5 6 2 5 8 3 7 8.

48
00:05:22,960 --> 00:05:23,530
이제 농담이야.

49
00:05:23,530 --> 00:05:25,630
그러나 그것이 어떻게 생겼는지 기억하십시오.

50
00:05:25,780 --> 00:05:28,600
그리고 우리는 우리의 내용과 제목을 가지고 있습니다.

51
00:05:28,600 --> 00:05:28,920
괜찮아.

52
00:05:28,930 --> 00:05:30,790
그래서 거기에서 나갑시다.

53
00:05:30,810 --> 00:05:35,880
그래서 우리가 다음에하고 싶은 것은 해당 ID를 사용하여 게시물과 사용자를 어떻게 연결할 수 있는지에 대한 이야기입니다.

54
00:05:36,310 --> 00:05:40,090
그리고 그 일을하기 위해 나는 실제로 다른 지위를 만드는 단계를 밟을 것입니다.

55
00:05:40,090 --> 00:05:42,230
그래서 이것을 최고의 버거를 만드는 방법이라고 부릅시다.

56
00:05:42,390 --> 00:05:52,190
파트 2 그리고 이것은 새로운 게시물을 만들 것입니다 그리고 우리는 그 게시물을 저장 한 다음 우리는 사용자 PABX를 찾을 것입니다.

57
00:05:52,260 --> 00:05:59,480
그래서 우리는 사용자 찾기를 할 것이고 우리는 당신의 이름을 찾을 것입니다.

58
00:05:59,760 --> 00:06:12,640
이번에는 전자 우편이 gmail dot co.kr의 Bob 인 경우이 코드를 실행 한 다음 발견 된 사용자를 호출 할 것입니다.

59
00:06:13,490 --> 00:06:14,250
승인.

60
00:06:14,350 --> 00:06:15,380
그렇게 많이 진행됩니다.

61
00:06:15,670 --> 00:06:18,760
게시물이 생성되면 게시물을 만듭니다.

62
00:06:18,880 --> 00:06:29,860
이 경우 여기에 사용자가 이미 생성되었다는 것을 알게되고 필요한 경우 오류를 처리하게됩니다.

63
00:06:30,490 --> 00:06:35,800
그렇지 않으면 우리는 사용자 게시물에 게시물을 추가 할 것입니다.

64
00:06:35,930 --> 00:06:56,570
그래서 여기에 사용자가 올린 글이 있습니다. 우리는 푸시 포스트를 밀어 넣을 것입니다. 포스트는 우리가 방금 작성한 게시물을 가리 킵니다. 제목이 데이터베이스입니다. Vestberg를 요리하는 방법 또는 컨텐츠 어쩌구 저쩌구.

65
00:06:56,800 --> 00:06:58,450
작동하면 저장합니다.

66
00:06:58,560 --> 00:07:03,760
게시물을 저장 한 다음 사용자를 수정하는 게시물 변수가 있습니다.

67
00:07:03,900 --> 00:07:07,090
이 경우에는 gmail에서 전자 메일 Bob과의 연결입니다.

68
00:07:07,210 --> 00:07:14,340
그런 다음 찾으면 사용자 포스트 배열에 새 게시물을 추가 할 것입니다.

69
00:07:14,620 --> 00:07:15,880
그럼 저축합시다.

70
00:07:16,060 --> 00:07:20,160
그래서 나중에 다른 발견 된 사용자가 저장을해야 할 필요가 있습니다.

71
00:07:20,800 --> 00:07:33,450
네, 또 다른 콜백이 필요합니다.이 콜백에는 오류가 있으며,이 데이터를 호출하여 실제로 발생하는 일을 분명히 알립니다.

72
00:07:33,580 --> 00:07:46,720
그리고 여기에서는 오류를 다시 처리하고 로그 데이터를 취소 할 오류가없는 경우에 대해 설명합니다.

73
00:07:46,790 --> 00:07:48,750
우리가 많이 여기 있습니다.

74
00:07:48,760 --> 00:07:59,120
그래서 게시물을 만들어 사용자를 찾은 다음 그 게시물을 사용자 포스트에 푸시하고 사용자를 저장 한 다음 데이터를 인쇄하면 완료됩니다.

75
00:07:59,350 --> 00:08:03,010
우리가 얻는 것을 보자.

76
00:08:03,000 --> 00:08:03,910
괜찮아.

77
00:08:04,140 --> 00:08:04,960
그래서 효과가있었습니다.

78
00:08:05,110 --> 00:08:08,640
여기에 우리의 사용자 이름 Bob Belcher 이메일이 있습니다.

79
00:08:08,640 --> 00:08:21,500
여기에 사용자 ID가 있고 게시물 대신 우리가 가지고있는 모든 것은 하나의 항목을 가진 배열이며 객체 ID이고 대 embed J.S. 여기서 우리는 임베디드 데이터로 작업하고있었습니다.

80
00:08:21,550 --> 00:08:26,230
우리는 전체 게시물을 가지고있어서이 배열 대신에 실제로 데이터를 보았습니다.

81
00:08:26,380 --> 00:08:31,390
이제 ID를보고있는 중입니다.

82
00:08:31,540 --> 00:08:33,210
이제 하나 더 추가하겠습니다.

83
00:08:33,390 --> 00:08:35,100
그래서 우리는 3 부를 할 것입니다.

84
00:08:35,400 --> 00:08:38,580
그리고 저것의 원본 대신에 어쩌구 저쩌구.

85
00:08:38,700 --> 00:08:41,370
따로 구별하는 것이 더 쉽도록 단지 수수께끼처럼 보일 것입니다.

86
00:08:41,380 --> 00:08:45,370
그리고 영사가 그 지위를 추가 할 것입니다.

87
00:08:45,370 --> 00:08:51,330
이제 여기에 두 개의 객체 ID가 있고 각 객체는 개별 게시물에 해당합니다.

88
00:08:51,700 --> 00:08:52,660
승인.

89
00:08:53,010 --> 00:08:55,020
그래서 그것이 우리가 그들을 연관시킬 수있는 방법입니다.

90
00:08:55,140 --> 00:09:00,290
그러나 이제 우리는이 객체 ID를 어떻게 취하고 올바른 게시물을 찾을 수 있는지 알아야합니다.

91
00:09:00,580 --> 00:09:02,260
우리가 사용자를 찾고 싶다고합시다.

92
00:09:02,500 --> 00:09:08,190
그런 다음 사용자 ID뿐만 아니라 게시물도 게시하고 싶지만 모든 데이터를 원합니다.

93
00:09:08,560 --> 00:09:14,710
그래서 나는 콘솔을 깨끗하게 할 것이고 나는 또한이 거대한 짐승을 여기서 논평 할 것이다.

94
00:09:14,720 --> 00:09:21,630
그래서 우리가하고 싶은 것은 사용자를 찾고 그 사용자에 대한 모든 게시물을 찾는 것입니다.

95
00:09:21,730 --> 00:09:23,990
실제로 한 번에 그렇게 할 수있는 방법이 있습니다.

96
00:09:24,120 --> 00:09:25,840
그래서 우리는 사용자를 먼저 찾아야합니다.

97
00:09:26,010 --> 00:09:37,100
그래서 사용자가 찾아서 우리는 다시 하나를 찾은 다음 통과해야하고 찾고있는 것은 이메일이 될 것입니다. gmail 닷컴의 Bob입니다.

98
00:09:38,250 --> 00:09:39,750
그리고 이것은 새로운 것입니다.

99
00:09:39,900 --> 00:09:41,400
그래서 우리는 전에 이것을 보지 못했습니다.

100
00:09:41,560 --> 00:09:53,550
우리는 게시물을 채우고 exec를 배치 할 채우기를 채우고이 모든 것을 잠깐 설명 할 것입니다.

101
00:09:55,920 --> 00:09:57,420
승인.

102
00:09:58,360 --> 00:10:02,920
그래서 여기서 한 것은 여러 조각으로 구성된 더 긴 쿼리를 작성한 것입니다.

103
00:10:02,910 --> 00:10:04,570
그래서 우리는 사용자를 찾고 있습니다.

104
00:10:05,010 --> 00:10:20,580
그리고 실제 필드 게시물을 채울이 채워지는 게시물을 변경하면 모든 해당 개체 ID가 올바른 데이터를 찾은 다음 게시물 배열에 붙여 넣은 다음 exec를 실행하여 실제로 쿼리를 시작합니다.

105
00:10:20,590 --> 00:10:21,720
그래서 좀 이상합니다.

106
00:10:21,970 --> 00:10:23,220
우리가 찾는 중입니다.

107
00:10:23,380 --> 00:10:33,070
그러나 여기서 우리는 콜백을 사용하지 않고 있으며, 우리는 populate를 바꾸고 있습니다. 그리고 나서 우리는 실제로 이것을 끝내게 될 Dot exec를주고 있습니다.

108
00:10:33,120 --> 00:10:38,000
그래서 우리는 코드를 실행할 때 콜백을 exec에 전달합니다.

109
00:10:38,470 --> 00:10:39,920
그리고 우리가이 일을 올바르게한다면.

110
00:10:39,970 --> 00:10:41,560
오류가 있는지 확인해 봅시다.

111
00:10:41,560 --> 00:10:44,690
첫 번째위원회는 오류를 로그합니다.

112
00:10:45,070 --> 00:11:00,400
그렇지 않으면 사용자가 posts 속성 내에 모든 게시물을 미리 채워서 로그 사용자를 취소하고이를 실행 해 봅니다.

113
00:11:00,390 --> 00:11:03,780
이것을 제외하고 모든 것이 주석 처리되었는지 확인하십시오.

114
00:11:03,970 --> 00:11:05,230
뛰자.

115
00:11:06,350 --> 00:11:06,940
그리고 당신은 무엇을 알고 있습니다.

116
00:11:06,940 --> 00:11:07,610
그것은 효과가 있었다.

117
00:11:07,870 --> 00:11:12,610
그래서 우리는 사용자 이름을 gmail dot com에서 Bob Belsher 이메일 Bob입니다.

118
00:11:13,030 --> 00:11:15,730
하지만 이제 게시는 객체 ID의 배열이 아닙니다.

119
00:11:15,750 --> 00:11:18,570
실제로 거기에 전체 게시물이 있습니다.

120
00:11:18,580 --> 00:11:19,460
둘 다.

121
00:11:19,650 --> 00:11:24,070
따라서 콘텐츠 및 제목 콘텐츠 및 제목이 무엇인지 알 수 있습니다.

122
00:11:24,120 --> 00:11:29,360
그래서 우리가했던 모든 것을 요약하기 위해 여기에 보이는 것과 같은 데이터를 객체 ID와 함께 저장합니다.

123
00:11:29,470 --> 00:11:43,870
두 개체 ID를 볼 수 있고 두 번째 쿼리를 통해 데이터를 검색하고 Saray 게시물에 해당 데이터를 채우는 데 필요한 모든 데이터를 채 웁니다.

124
00:11:44,050 --> 00:11:47,690
그래서 우리는 왜 우리가 다른 것을 사용하는지 궁금해 할 것입니다.

125
00:11:47,710 --> 00:11:52,220
언제 데이터를 삽입 할 것인가? 객체 ID 참조를 언제 사용할 것인가?

126
00:11:52,210 --> 00:11:57,570
그리고 그것은 우리가 캠프 대신 사용하는 것과 관련하여 해결할 정말로 중요하고 중요한 질문입니다.

127
00:11:57,730 --> 00:12:00,490
짧은 대답은 그것이 달려 있다는 것입니다.

128
00:12:00,490 --> 00:12:04,510
스타일과 거의 모든 상황을 통해 얻을 수 있습니다.

129
00:12:04,500 --> 00:12:19,670
그러나 일반적으로 참조 또는 퍼가기 데이터를 사용하여 수행중인 작업을보다 잘 수행 할 수 있습니다. 우리가 캠프를 거치면서 의견과 사용자를 추가하기 시작하면 추가 할 것입니다. 등급 및 사진 및 이러한 모든 다양한 기능을 제공합니다.
