다시 오신 것을 환영합니다.
Mongo D.B와 mongoose에 관해 우리가 배운 것을 취하여 캠프 응용 프로그램에 추가하여 데이터 지속성을 추가 할 때입니다.
그래서 3 가지 주요 단계는 몽구스를 설치하고 구성하는 것입니다. 그리고 우리는 모델을 캠프장을위한 스키마와 모델로 설정해야합니다.
그리고 우리는 우리 길 대신 캠프장 모델을 사용할 필요가 있습니다.
우리가 더 멀리 가기 전에 나는 캠프의 V-2를 사용하고있어 V-1의 또 다른 복사본을 만들었고 다음 몇 개의 비디오를 위해이 내부에서 작업 할 것이라고 지적하고 싶습니다.
그리고 그것은 우리가 더 큰 변화를 만들기 시작할 것이기 때문입니다.
일부 파일은 움직이기는하지만 여전히 V-1 코드를 볼 수 있어야합니다.
그래서 V-2와 나는 우리가 v3 대신에 일하기 시작할 때 알려주지.
이제 우리가 가진 것을 보자.
예를 따라 실행 해 봅시다.
그리고 새로 고침.
승인.
그래서 우리 캠프장이 새로 생긴 캠프장을 추가 할 수는 있지만, 서버를 다시 시작하자마자 우리가 추가 할 새로운 캠프장이 사라지면 문제가 발생합니다.
그럼 그 문제를 해결해 봅시다.
우리가 필요로하는 모든 것들을 열어 보자. 지금은 Jasc 파일로만되어있다.
그리고 우리가하고 싶은 첫 번째 일은 몽구스를 설치하는 것입니다.
그래서 NPM은 몽구스 대쉬 대시 저장을 설치하고 그 동안 우리는 우리의 프로세스가 백그라운드에서 실행되도록하고 싶습니다.
남자 - 하나님 지금은 끝났어. 그리고 우리는 그 패키지를 볼 수 있었다.
우리가 몽구스를 가지고 있다는 것을 제이슨 더블 체크.
우리는 거기에 갈.
이제 여기 있습니다.
우리는 몽구스에게 몽구스라는 변수에 저장하도록 요구할 것입니다.
그리고 필요한 문장이 많이있을 때 자주 볼 수있는 간단한 참고 사항은 실제로 선언문을 Varsity에서 제거 할 수 있고 여러 변수 선언이 연속적으로있는 경우이를 수행하는 것과 같습니다.
쉼표로 구분할 수 있습니다.
우리는 거기에 갈.
그리고 이것은 expression이라는 이름의 변수를 body parser와 Mongoose에서 호출 한 다른 변수와 똑같이 작동하게합니다.
우리는 계속해서 반복해서 글을 쓸 필요가 없습니다.
그리고 때때로 여러분이 볼 수있는 것은 사람들이 이것을 줄 지어 이렇게 보입니다.
그리고 그것은 정말로 개인적인 취향의 문제입니다.
나는 당신이 그것을 볼 수 있도록 그냥 여기에 남겨 둘 것입니다.
그러나 당신은 그것을 두 가지 방식으로 보게 될 것입니다.
코드가 작동하는 방식에는 영향을 미치지 않습니다.
그것은 단지 작은 문체의 변화 일뿐입니다.
좋아, 그럼 예수님이 우리가 실수를하지 않도록 확인한 후 Knode를 저장하고 실행합시다.
큰.
이제 우리가하고 싶은 것은 몽구스를 연결하는 것입니다.
그래서 우리는 몽구스 연결을 할 것입니다. 우리는 아직 데이터베이스를 가지고 있지 않습니다. 따라서 Mongar TV에서는 데이터베이스를 동적으로 만들 수 있고 Mongo DB 콜론 슬래시와 로컬 호스트 슬래시를 연결해야합니다. 아직 존재하지 않는 데이터베이스.
그러니 그냥 Yelp 캠프라고 부르면됩니다.
그리고 이것은 Mangu D-B 대신 Yelp 캠프 데이터베이스를 만들 것이며 우리가 앱을 아무런 문제없이 실행할 수 있다면 테스트 할 수 있습니다.
그 다음으로해야 할 일은 스키마를 설정하는 것입니다. 여기에서이 작업을 수행 할 것입니다.
여기에 약간의 설명을 추가하겠습니다.
스키마가 설정되고이 파일은 조금 길어질 것이며 앞으로 비디오에서 우리는 그것을 리펙토링 할 것입니다.
따라서 실제 프로덕션 응용 프로그램에서이 작업을 수행하는 것은 아닙니다.
10 가지 모델과 다른 스키마가있는 경우 경로가 많은 경우 특히 매우 빠르게 진행됩니다.
따라서 나중에이 파일을 별도의 파일로 분리 할 예정이지만 지금은 하나의 스키마 만 수행 중입니다.
그래서 이것을 var campground 스키마라고 부르 자고 우리는 새로운 몽구스 스키마와 동등하게 설정하여 우리를 자본으로 삼을 것입니다.
그리고 지금 캠프장에는 문자열과 이미지라는 이름이 있습니다.
그것도 문자열이고 우리는 이미 우리가 이미 가지고있는 것을 사용하고 있습니다. 그러면 우리가해야 할 마지막 일은 그것을 모델 var campground로 컴파일하는 것입니다. 그러면 몽구스의 최상위 모델과 같고 여기에서 다시 campground를 따옴표로 묶으십시오.
그리고 마지막으로 캠프장 스키마입니다.
이제는이 스키마를 사용하는 모델을 만들어서 여러 가지 방법을 사용하여 캠프장 정보 찾기와 같은 작업을 수행 할 수 있습니다.
그리고 우리가하고 싶은 첫 번째 일은 간단한 캠프장을 추가하는 것입니다.
그래서 이것들 중 하나를 가져 가자. 그러면 캠프장에서 시작하여 캠프장에서 시작한다.
그래서 그렇게 보입니다.
그리고 이것은 일이 우리가 그것을 시도하자마자 우리가 그것을 삭제할 것 인 것을 확인하는 단지 임시의 물건이다.
그래서 캠프장을 만들고 우리가 만들고자하는 대상을 지나가는 것을 기억하십시오.
나는 이것을 약간 더 멋지게 포맷 할 것입니다.
그래서 우리는 객체를 먼저 생성하고 나서 콜백 함수를 생성합니다.
첫 번째 것은 오류이고 두 번째는 캠프장이됩니다.
그리고 우리는 간단한 상수 로그 만 할 것입니다.
그래서 오류가 로그 오류를 취소하면 새로 작성한 캠프 그라운드 로그를 취소합니다.
그냥 그렇게.
그리고 다음 줄에서 우리는 죄책감을 갖습니다.
응.
캠프장.
승인.
그렇습니다. 많은 코드입니다.
하지만 우리가하고있는 일은이 데이터로 캠프장을 만드는 것입니다. 그런 다음 거대한 한 줄로 모든 것을 수행하는 대신에 공간을 배치했습니다.
우리는 일단이 작업이 끝나면 실행될 콜백 함수를 갖기 위해이 간격을 둡니다.
성공하든 그렇지 않든간에 콜백 함수가 있으며 처리하는 중 오류를 공정하게 처리하고 있습니다.
그래서 우리는 단지 오류를 인쇄하고 있습니다.
그리고 오류가 없다면 캠프장을 인쇄 할 것입니다.
괜찮아.
이제 우리가 할 수있는 것은 단지 노드를 실행함으로써 이것을 테스트하는 것입니다.
우리는 거기에 갈.
새로 만든 campground.
그래서 그 일을 창조했습니다.
아무런 오류도 인쇄되지 않았다.
그래서 우리는 이것을 얻었고 그것은 이미지와 이름처럼 보입니다.
또한 몽고 협의회를 열 수 있는지 확인하고 쇼 TBS를 할 수 있습니다.
여기에 우리의 새로운 요아킴의 데이터베이스가 있습니다. 우리는 옐프 캠을 그렇게 사용할 수 있습니다.
그리고 우리가 할 수있는 것은 콜렉션을 보여주는 것입니다. 우리 모델 Cingular의 이름이 캠프장이기 때문에 생성 된 캠프장을 가지고 있으며, 캠프 그라운드는 우리를 위해 복수화했습니다.
그리고 우리가 할 수있는 일은 D-B 캠프장이 찾는 캠프장을 희망하는 것입니다.
그리고 거기에 우리는 하나의 캠프장에 가서 이름과 이미지가 자동적으로 할당 된 ID를 가지고 있습니다.
굉장해.
그럼 나가서이 캠프장을 없애기 위해 캠프장을 하나 더 추가하십시오.
그리고 Semin Creek보다는 화강암 언덕을 만들겠습니다. 그리고 저는 우리가 작업 할 초기 데이터를 갖고 싶습니다.
그래서 그 이름 이미지가 좋아.
그리고 노드를 다시 저장하면됩니다.
그렇습니다. 화강암 힐을 만들었던 두 번째 캠프장이 있습니다. 지금은 충분합니다.
다음으로 우리가하고 싶은 일은 여기서이 코드를 모두 대체하는 것입니다.
우리는이 모든 코드를 제거 할 수 있지만 하드 코딩 된 배열을 사용하지 않고 해당 캠프 그램을 사용하는 모든 코드를 배열로 대체하려고합니다.
우리가 여기 모든 캠프장을 가져올 때 여기에서해야 할 일은이 페이지의 목록에있는 사이트를 보여주는 것입니다. 우리는 먼저 데이터베이스에서 모든 캠프장을 가져와서 먼저 할 수 있습니다.
저는 지금이 라인을 주석 처리 할 것입니다.
우리는 D-B에서 모든 캠프장을 가져와야합니다. 그러면 우리는 그 파일을 렌더링하려고합니다.
그리고 우리가 모든 캠프장을 얻는 방법은 캠프장 찾기와 함께 있으며 우리는 모든 것을 찾고 있습니다.
그리고 나서 우리는 콜백 함수가 필요합니다. 그리고 먼저 에러를받습니다. 그러면 우리의 매개 변수는 캠프 그라운드라고 불릴 것이고, 에러라면 에러가 있는지 항상 체크 할 것입니다.
그리고 우리는 단지 지속적인 로그 오류를 수행 할 것입니다.
지금은 실제로 사용자에게 메시지를 표시하는 곳에서 더 나은 오류 처리를 수행 할 것입니다.
지금은 그냥 인쇄하고 있습니다.
그리고 여기에 우리가 할 일은 우리가 여기있는 것처럼 빨간 점을 렌더링하는 것입니다. 실제로 어떻게 남겨 둘 수 있습니다.
그리고 그 이유는 우리가 여전히 캠프장 파일을 렌더링하고 캠프 파일에 렌더링하기를 원한다는 것입니다. 우리는 캠프 그라운드를 캠프 그라운드라고 부를 것으로 예상하고 있습니다.
차이점은 캠프장의 근원은 더 이상 우리가 여기에 있었던 배열이 아니라는 것입니다 campground 바로 여기에 정의되어 있습니다.
그럼 좀 더 명확하게 해보 죠.
나는이 모든 캠프장을 그렇게 부르겠다.
그리고 나서 저는 이것을 바꿀 것입니다.
모든 캠프장에서 연결을 볼 수 있습니다.
그래서 우리는 컬렉션에있는 모든 캠프장을 찾기 위해 캠프장을하고 있습니다.
완료되면이 코드를 실행하십시오.
콜백.
오류가 있으면 오류를 인쇄하십시오.
그렇지 않으면 모든 캠프장을 가져 가세요.
방금 돌아와 캠프장으로 보냈습니다. 신청했다.
이제 우리가 저장하고 우리가 서버를 다시 시작하면 나는 이것을 제거 할 것입니다. 그렇지 않다면 우리는 데이터베이스에 또 다른 화강암 언덕으로 끝날 것입니다.
이제 우리는 서버를 시작하고 페이지를 새로 고침 할 것입니다. 우리는 단지 우리가 원하는 바로 그 두 개의 캠프장을 보았습니다.
이 두 가지는 데이터베이스에 있으며 더 이상 코딩되지 않은 캠프장 배열을 더 이상 다루지 않습니다.
이들은 우리가 그들을 삭제할 때까지 항상 데이터베이스에있게 될 것입니다.
그러나 적어도 서버가 다시 시작되거나 문제가 발생하더라도 여전히 유지됩니다.
이제는 사용자가 새로운 캠프장을 추가 할 때 작동하도록이 기능을 사용하는 데 중점을 둡니다.
그리고 지금 우리에게는 작은 문제가 있습니다.
방금 여기에 지껄 거리기를 입력하고 제출을 누르면 오류가 발생합니다.
캠프장은 정의되어 있지 않습니다. 실제로 캠프 그라운드를 캠프장으로 밀어 넣으려는 바로 그 곳의 예선 54에 있습니다.
하지만 그 캠프장 트레이는 우리가 삭제했기 때문에 정의되지 않았습니다.
그것은 이전에는 부두 였고 우리는이 작업을 우리가 원하는 방식으로 진행하기 위해 제거했습니다.
우리는이 선을 더 이상 필요로하지 않습니다.
대신 우리가하고 싶은 일은 새로운 캠프장을 만들고 데이터베이스에 저장하는 것입니다.
그래서 이것은 우리가 이름과 이미지를 움켜 잡아야하는 곳에서 똑같이 유지 될 것입니다. 그리고 이것은 우리가이 객체를 만드는 곳에서도 똑같이 유지 될 것입니다.
그리고 나서 우리가 할 수있는 일은 데이터베이스에 저장하는 것입니다. 그리고 생성 한 캠프 그라운드와 첫 번째 인수로 만들 수 있습니다. 새로운 캠프 그라운드라는 객체에 이미 저장 한 새로운 것을 만들어야합니다. 우리는 그것을 전달할 수 있고 그런 다음 콜백 함수가 필요합니다.
우리의 두 가지 인수 오류를 기억하고 새로 작성한 코드를 새로 작성한 다음 오류가있는 경우이를 수행하고 사용자가 입력하는 양식 데이터에 문제가있는 경우 오류가 발생하면이를 수행해야합니다. 우리가 실제로 원하는 것을 생각해보십시오.
결국 우리가 할 일은 사용자에게 다시 양식을 보내고 사진 Caffey가 비어 있거나 Campi blank 또는 Campeon 번호 또는 기타 이름을 나타내는 메시지를 표시하는 것입니다.
그러나 우리는 그들에게 메시지를 보여줄 수 있습니다.
지금 우리는 오류에 대한 우리의 노력하고 진실한 상시 기록을 고수하고 있습니다. 그렇다면 우리가해야 할 일이 있더라도 그렇게 캠프장으로 돌아가는 것입니다.
다시 캠프장으로 리디렉션합니다.
우리는 거기에 갈.
그런 다음이 경로를 다시 실행하여 방금 추가 한 브랜드의 캠프장을 포함한 모든 캠프장을 찾은 다음 다시이 템플릿을 표시합니다.
그래서 그것을 시험해 봅시다.
서버를 다시 시작하고 사용할 이미지를 잡으려고합니다. 여기에서이 이미지를 사용합니다.
당신이 Aro를 복사 한 다음 여기에 앱을 열고 OK를 새로 고치려면 새로운 캠프장을 추가하고 추가하겠습니다.
그리고이 작품은 클라우드의 휴전 장소로 불리며, 작품을 제출하면 효과가있는 것으로 보입니다.
너는 여기로 돌아 간다.
우리는 어떤 오류도 발생하지 않습니다.
페이지를 새로 고치면 페이지가 계속 나타나고 서버를 다시 시작하면 이것이 진정한 테스트입니다.
아직 거기있어.
승인.
그래서 우리는 캠프장에 데이터 지속성을 도입했습니다.
서버는 재난이 발생할 수있는 모든 상황에서 전원이 꺼지는 것을 막을 수 있습니다.
그리고 우리의 데이터는 계속 유지 될 것입니다.
다시 클라우드 9로 돌아가서 우리가 한 일에 대한 간단한 요약을 할 것입니다.
그래서 우리는 여기에 몽구스를 더했습니다.
우리는이 코드를 처음 실행했을 때 존재하지 않았던 yelp 캠프 데이터베이스에 연결되었지만 처음 생성 된 캠프 데이터베이스를 사용하는 모든 후속 시간에 이제는 이름과 이미지가있는 캠프장 스키마를 설정했습니다 그리고 그게 다야.
그러나 우리가 더 많은 것을 추가하고 싶다면.
매우 쉽고 유연합니다.
그리고 나서이 악명 높은 라인은 우리가 스키마를 캠프 그라운드의 모양을위한이 청사진을 취하고 우리가 사용할 수있는 코드로 바꾸는 모델로 컴파일하는 것입니다.이 코드는 find 그것은 중요합니다.
우리는 모든 캠프장을 검색하고 모두 보여주기 위해 슬래시 캠프장에서 사용하고 있습니다.
그런 다음 양식에서 데이터를 가져 오는 곳에서 위대한 것을 만들 수도 있습니다.
변수가 너무 많아서 약간 혼란 스럽습니다.
우리는 양식에서 이름과 몸을 움켜 잡고 있습니다.
우리는 새로운 목표를 별도의 단계로 만들고 있습니다.
방금이 코드를 가져 와서 바로 붙여 넣을 수있었습니다.
그러나 저는 새로운 것을 아주 잘 만들어서 우리가하는 것을 보여줍니다.
따라서 새로운 캠프 그라운드는 객체가 성공적으로 생성되었는지 여부에 관계없이 Create가 실행될 커버 콜백 함수로 작성한 것보다 이미지를 양식에서 가져 오는 객체 이름입니다.
그런 다음 여기에서 오류를 처리합니다.
지금 우리는 매우 기본적인 오류 처리 기능을 제공합니다.
이제는 실제로 다루지 않습니다. 단지 오류를 인쇄하고있는 곳을 인정하는 것만으로 오류가 발생합니다. 그런 다음 작동하지 않으면 다시 캠프장 페이지로 돌아갑니다.
이제 우리는 몽구스를 연결했습니다.
우리는 데이터베이스를 설정했습니다.
우리는 이것을 계속 사용하고 곧 주석을 추가하고 다른 재미있는 것들을 추가 할 때 사용자 인증을 할 때 다른 모델과 다른 스키마를 보게 될 것입니다.