면접관: 노드 얘기 좀 해요.js의 개발 프레임워크 express, 그리고mongodb와mogoose

6425 단어 node.js

하나, express


1. 소개

  • Node 기반js플랫폼, 신속하고 개방적이며 간단한 웹 개발 프레임워크
  • 웹 서버의 기능 제공(루트, 정적 자원 읽기 등)
  • html 파일 내용에 변수나 표현식이 포함되어 있는데 이런 html을 모델express에서 자주 사용하는 js템플릿##2라고 부른다.명사 해석
  • 2.1 리버스 에이전트


    리버스 프록시 서버는 사용자와 대상 서버 사이에 있지만 사용자에게 리버스 프록시 서버는 대상 서버에 해당합니다. 즉, 사용자가 리버스 프록시 서버에 직접 액세스하면 대상 서버의 자원을 얻을 수 있습니다.또한 사용자는 대상 서버의 주소를 알 필요가 없고 사용자 측에서 어떠한 설정도 할 필요가 없다

    2.2 서버 측 렌더링(SSR)


    간단한 이해는 구성 요소나 페이지를 서버를 통해 html 문자열을 생성하여 브라우저에 보내고 마지막으로 정적 표시'혼합'을 클라이언트의 완전한 상호작용 응용 프로그램으로 하는 것이다
  • 장점: seo에 우호적인 페이지 불러오는 속도가 빠르다
  • 단점: 서버 리소스 사용
  • 2.3 BSR 브라우저 끝 렌더링

  • 서버는 데이터(인터페이스)만 제공하고 렌더링은 클라이언트가 한다
  • 인터페이스(인터페이스 문서)
  • 액세스 인터페이스 주소
  • 접근 방식(get post)
  • 매개변수
  • res.json
  • 반환값

    2.4 전면 후면 분리

  • 서버 측은 데이터만 제공(인터페이스 제공)res.json({key:value...})
  • 전단은 데이터를 얻고 html 페이지로 렌더링하는 것을 책임진다(fetch문법fetch(url).then(callback)

  • 3.ejs 템플릿 엔진

  • npm i ejs--save
  • 설치
  • ejs모드는 기본적으로views의 디렉터리에 저장된 모드 파일 xxx입니다.ejs
  • ejs 템플릿 앱을 사용하도록 설정합니다.set(“view engine”,“ejs”);
  • 모듈의 디렉터리 app를 변경합니다.set("views", "모델의 디렉터리")
  • 렌더링 모드res.render ("views의 모드 파일 이름", {key는 모드의 변수:값})
  • 변환 출력
  • 비전의 출력
  • js 코드 실행
  • 4. 중간부품

  • 사용자가 요청을 보내고 결과를 반환하는 중간에 실행하는 함수나 방법
  • 중간부품이 실행할 수 있는 기능이 매우 풍부하다. 예를 들어 신분 검증, 파라미터의 검사...
  • 중간부품 app를 사용합니다.use([요청 문자열], 라우팅 중간부품)
  • 제공되는 중간부품, 직접 사용
  • express.static
  • express.Router

  • 사용자 정의 중간부품
  • 모든 요청 app를 차단합니다.use(function(){})
  • 특정 요청 차단router.get("/xxx",(req,res,next)=>{ })

  • express의 실례를 http로 한다.createServer의 중간부품 http.createServer(app)

  • 5.express 생성기

  • npm i express-generator-g(express--version 버전 번호를 볼 수 있으면 설치됨)
  • 생성기로 프로젝트 express 생성 --view=ejs 프로젝트 이름
  • 프로젝트 진입 및 시작
    cd      
    npm install   
    npm start   
      http://localhost:3000   3000 
    
  • bin/www은 시작 파일
  • public 프로젝트의 정적 자원 디렉터리
  • routes 루트 중간부품, 사용자 요청 처리
  • views 템플릿 디렉터리
  • app.js가 진정한 프로젝트 집행의 시작점
  • package.json 패키지의 프로필
  • 사용자가 제출한 데이터 가져오기
  • 사용자 get이 제출한 데이터 가져오기 req.query.변수
  • 사용자post가 제출한 데이터를 가져옵니다.body.변수

  • 둘,mongodb


    MongoDB는 시비 관계 데이터베이스 중 가장 풍부한 데이터베이스 관리 시스템(문서 데이터베이스)

    1. 명사 몇 개

  • 문서(document) {key:value, key1:value2, key2:value3...}
  • 집합(collection) 여러 문서가 하나의 집합을 구성한다
  • 2. 설치


    매개 변수 이 문서https://www.cnblogs.com/keyi/p/10984514.html
  • 설치 후 설치 디렉토리에 있는 C:\Program Files\MongoDB\Server\3.4\bin을 찾아 이 경로를 환경 변수에 설정합니다(참고: 다른 환경 변수는 절대 삭제하지 마십시오)
  • 3. 시작

  • mongod-dbpath 경로mongodb 서버의 오픈 명령은 27017을 보면 시작 성공
  • 을 나타낸다
  • mongo는mongodb 서버에 연결하고 데이터베이스 조작 명령줄을 엽니다
  • 4. 상용 명령

  • 도움말 그룹 명령
  • help 현재 데이터베이스 시스템 관련 도움말 정보
  • db.help () 데이터베이스 관련 그룹 명령
  • db.집합help() 집합 관련 도움말 정보

  • 2. 명령 종료 exit 3.화면 정리 명령cls4.데이터베이스 및 컬렉션 관련 명령
  • showdbs 데이터베이스 이름 보이기
  • showcollections는 현재 데이터베이스에 있는 모든 집합의 이름을 표시합니다
  • use 데이터베이스 이름이 이 데이터베이스에 존재하지 않으면 하나를 만들고 존재하면 이 데이터베이스로 전환
  • db 현재 데이터베이스 이름 보이기
  • db.집합insert({key:value,key2:value2…}) db.집합save({key:value,key2:value2…})
  • 대량 문서 삽입
    for(var i=0;i<10;i++){
           	   db. .insert({key:value.....});
    }
    
  • 쿼리 명령
  • db.집합find () 현재 집합된 모든 문서 보이기
  • db.집합find().sort({key:-1})-1 내림차순 1 오름차순 조회 및 정렬
  • db.집합find().count () 조회 결과를 집계하는 문서 수
  • db.집합find().limit (페이지당 문서 개수).skip(생략된 문서 개수(page-1)*pageSize) 페이지
  • db.집합findOne() 첫 번째 문서 표시
  • db.집합find({key:{g t:v a l u e,gt:value,gt:value,lt:value}}) 여러 키 값이 맞고 관계($gt>$gte>= $lt<$lte<=)
  • db.집합find ({$or: [key:value, key:value...]}) 여러 개의 키 값이 옳거나 그름의 관계
  • 삭제 명령
  • db.집합remove({key:value...}){key:value...} 표시 조건
  • db.집합remove ({}) 집합의 모든 문서 삭제
  • 명령 수정
  • db.집합업데이트 ({조건}, {$set: {key:value...}, 추가 여부, 여러 문서 수정 여부)
  • db.집합업데이트 ({조건}, {$inc: {key:value}}) 조건에 따라 조건에 맞는 문서의 필드 대응 값을 증가(또는 감소)합니다

  • 셋, 몬고스


    몽구스는 노드에 있어요.js 비동기 환경에서 몬godb를 간편하게 조작하는 대상 모델 도구

    1. 홈페이지http://www.mongoosejs.net/


    2.npm i mongose --save 설치


    ##3.공통 데이터 유형
  • String(http://www.mongoosejs.net/docs/api.html#schema-string-js)
  • Number
  • Date
  • Boolean
  • Array

  • 4 사용

  • mongose var mongose = require('mongose') 도입;
  • 데이터베이스 mongose 연결.connect(‘mongodb://localhost/test’);
  • 모델 var 모델 구축 = mongose.모델("집합의 이름", Schema, [집합 변경된 이름])
  • 모형으로 삭제 검사를 진행하다
  • 추가
  • 문서 추가
  • var M = new Model ({key:value}) Model은 모델을 저장하는 변수입니다. 고정된 것이 아닙니다.M.save().then(callback) 또는 new 모델({key:value, key1:value1...}).save().then(callback)

  • 한 번에 여러 문서 추가
  • Model.insertMany([{key:value},{…}…]);


  • 모델 삭제.remove…
  • 모델 수정.update…
  • Model.find({조건}).then ((res) = > {})res는 그룹 형식
  • 좋은 웹페이지 즐겨찾기