이번 주 연구는 주로 nodejs 데이터베이스 상호 작용에 관한 것이며, jade 템플릿을 사용하여 사용자 검증 웹 사이트를 구축했습니다. 주로 몇 가지 문제가 발생했기 때문입니다.
1.mongodb 버전이 너무 낮습니다
npm ERR! 운영 체제 또는 아키텍처와 호환되지 않습니다: mongodb@0.9.9
0.9.9는 linux, darwin, freebsd 시스템만 지원하며 최신 버전은 win을 지원합니다.
2. nodejs가 삽입 작업을 수행한 후: 결과를 읽을 수 없습니다
리디렉션에 실패한 것처럼 보입니다. 실제 상황은 데이터베이스에 삽입에 성공했지만 doc[0].email 값은 말할 것도 없고 문서가 비어 있는 것입니다. 그 이유는 삽입과 같은 작업은 비동기적으로 수행되며, 비동기 작업은 작업 성공 여부를 확인하기 위해 기본적으로 결과를 반환하지 않기 때문입니다. 이 기능은 세 번째 매개변수인 {safe:ture}, 즉 app.users.insert(req.body.user, {safe:ture}, function(){……})을 추가하여 구현해야 합니다. 이런 식으로 결과를 성공적으로 읽었습니다.
3. connect-connect에 정의되지 않은 저장소가 나타납니다
소스코드는 위와 같습니다. 그 이유는 Express의 버전이 다르며, connect-mongo 모듈이 다른 방식으로 도입되었기 때문으로 보입니다. Readme.md에도 특별한 알림이 있습니다.
다른 버전의 경우 적절하게 수정하세요.
4. 요약
이 책을 공부하면서 nodejs의 특징과 활발하게 활동하는 외국어 사이트를 알게 되었습니다. 노드의 일부 인기 섹션의 업데이트 빈도도 학습 난이도를 높이는 데 도움이 됩니다. 다음으로는 실제 전투를 통해 돛 백엔드 프레임워크를 배워볼 예정이다. 공부하면서 겪은 문제도 노트에 기록됩니다.