nodeJS 입문 에서 3 단계 진입 (MongoDB 데이터베이스)

6602 단어
1. MongoDB 데이터베이스
1. 개념
데이터베이스 (DataBase) 는 데이터 구조 에 따라 데 이 터 를 관리 하고 저장 하 는 창고 이다.
2. 관계 형 데이터베이스
관계 모델 에 따라 저 장 된 데이터 베 이 스 는 데이터 와 데이터 간 의 관계 가 매우 밀접 하여 크로스 데이터 시트 조회 데 이 터 를 실현 할 수 있 고 더 적은 하 드 디스크 를 차지 하여 더 많은 데이터 저장 T - SQL 표준 의 구조 화 조회 언어 를 실현 할 수 있 으 며 관계 형 데이터 뱅 크 의 통용 조회 언어 에서 흔히 볼 수 있 는 관계 형 데이터 베이스 입 니 다. Mysql - server access sqlite....
구조: 서버 한 대 = = 데이터베이스 = = 데이터 시트 = = 데이터 줄
3. 비 관계 형 데이터베이스
관계 모델 에 따라 저장 되 지 않 은 데이터 베 이 스 를 nosql 1 층 의 의미 라 고 통칭 합 니 다. SQL 이 아니 라 관계 형 데이터 베이스 2 층 의 의미 가 아 닙 니 다. Not Only SQL 은 SQL 뿐만 아니 라 SQL 도 아 닙 니 다.
구조: 서버 한 대 = = 데이터베이스 = = 집합 = 문서
4、mongDB
mongoDB 는 분포 식 파일 을 기반 으로 저 장 된 데이터베이스 로 현재 세계 에서 가장 많이 사용 되 는 비관 계 형 데이터베이스 이자 가장 관계 형 인 비관 계 형 데이터베이스 인 MongoDB 는 BSON (바 이 너 리 + JSON) 형식 으로 데 이 터 를 저장 하여 직접 저장 할 수 있 으 며 대상, 배열 MongoDB 는 데 이 터 를 하나의 문서 로 저장 할 수 있 으 며 데이터 구 조 는 키 값 으로 한다.(key = > value) 쌍 으로 구성 되 어 있 습 니 다.
쓰다
  • 홈 페이지 에 mongoDB 소프트웨어 설치
  • https://www.mongodb.com/

  • 환경 변 수 를 설정 합 니 다. mongo 명령 이 있 는 위치: C: \ program Files \ \ MongoDB \ server \ \ 3.2 \ \ bin 환경 변수 에 추가 하여 사용자 의 PATH 값 을 수정 합 니 다
  • 폴 더 만 들 기
    비 시스템 디스크 디 렉 터 리 에 폴 더 mongodb 를 만 들 고 두 개의 하위 폴 더 db 와 log 를 만 듭 니 다.
    mongoDB 를 windows 서비스 로 마 운 트 합 니 다.
  • 1. 명령 마 운 트 서비스 사용
    mongod --dbpath "d:\mongodb\db" --logpath "d:\mongodb\log\mongod.log" --install --serviceName "MongoDB"
  • 2. 서비스 창 인터페이스 로 서 비 스 를 시작 합 니 다.
    컴퓨터 에서 오른쪽 단 추 를 누 르 면 관리 --- > 서비스 와 응용 프로그램 --- > 서비스 --- > MongoDB 를 찾 으 면 오른쪽 단 추 를 누 르 면 사용 합 니 다.
  • 3. 명령 행 으로 서 비 스 를 시작 합 니 다.
    net start mongodb 서비스 오픈 net stop mongodb 서비스 닫 기 sc delete mongodb 마 운 트 해제 서비스

  • 흔 한 문제
    32 비트 운영 체제 추가 -- storageEngine mmapv 1 windows 8 windows 10 명령 행 을 관리자 방식 으로 열 어야 합 니 다.
    5. 데이터베이스 상용 조작
    데이터베이스 관리 모드 진입
  • 명령 행 에서 실행: mongo 데이터 관리 모드 진입
  • 데이터 관리 모드 에서 데이터베이스 명령 만 수행 할 수 있 고 다른 명령 을 수행 할 수 없다
  • exit 데이터베이스 관리 모드 종료
  • 데이터베이스 명령:
  • 1. 모든 데이터 목록 표시 show dbs
  • 2. 데이터 베 이 스 를 만 들 거나 데이터베이스 에 들 어 갈 때 use 데이터베이스 이름 이 존재 하지 않 으 면 데이터베이스 가 존재 하면 들 어 갑 니 다
  • 3. 현재 데이터베이스 가 누구 인지 확인 db
  • 4. 데이터베이스 db. dropDatabase 삭제 ()
  • 집합 명령:
  • 1. 현재 데이터베이스 에 있 는 모든 집합 쇼 컬 렉 션 표시
  • 2. 집합 db 를 만 듭 니 다. 집합 명. insert ({}) 는 보통 데 이 터 를 만 들 때 자동 으로 집합 을 만 듭 니 다. 따로 만 들 필요 가 없습니다
  • 3. 집합 db 를 삭제 합 니 다. 집합 명. drop ()
  • 문서 작업
  • 1. 문서 추가 (추가) db. 집합 명. insert ({}) db. 집합 명. save ({JSON 데이터})
  • 예 를 들 어
  • db.user.insert({"name":"admin","password":"12342423"});
    db.user.save({"username":"admin","password":"12342423"});
    
    /*  insert save     :
        .insert()           【    】
        .save()           ,              
    */
  • 2. 데이터 삭제 (삭제) db. 집합 명. remove ({}) / 현재 집합 에 있 는 모든 데이터 db. 집합 명. remove ({조건}) / / 지정 한 데이터 삭제
  • 예 를 들 어
  • db.user.remove({"age":"18"})
    
    //   :                 ,   
  • 3. 데이터 수정 (변경) db. 집합 명. update ({대상 찾기, 수정 결과})
  • 주의, 전체 데이터 수정
  • 예 를 들 어
  • db.user.update({"name":"  "},{"age":18}) //      
  • 4. 문서 데이터 보기 (검색) db. 집합 명. find () / 현재 집합 에 있 는 모든 데이터 db. 집합 명. find ({조건 대상}) / 조건 에 맞 는 데 이 터 를 찾 아 db. 집합 명. findOne () / / 조 회 된 첫 번 째 대상 db. 집합 명. find (). pretty () / 찾 은 데 이 터 를 포맷 한 결과 나타 납 니 다
  • .
    6. mongoDB 고급 용법
    지 정 된 조건 에 따라 조회 하 다
  • 이상 - $lt
  • db.   .find({   :{$gt: }})
  • 는 - $gte
  • 보다 크다.
    db.   .find({   :{$gte: }}) 
  • 작 음 - $lt
  •  db.   .find({   :{$lt: }}) 
  • 이하 - $lt
  • db.   .find({   :{$lte: }})
  • 사용 () 지정 범위 조회
  • db.   .find({   :{$gt:  ,$lt:  }})
  • 배열 지정 범위 사용 - $in
  • db.   .find({   :{$in:[1,2,3,4]}})
  • 배열 요소 갯 수 찾기 - $size
  • db.   .find({   :{$size:  }})
  • 존재 여 부 를 판단 - $exists
  • db.   .find({   :{$exists:true|false}})
  • 여러 조건 을 찾 을 때 그 중 하나 에 맞 으 면 찾 습 니 다 - $or
  • db.   .find({   :{$or:[{...},{...},...]}})

    정렬
    db.   .find().sort({"key":-1,"ke2":1,...}) //1    ,-1    

    출력 제한 제한 () skip ()
    db.   .find().limit('  ') //         
    db.   .find().skip('  ') //         
    
    //                

    모호 조회
    db.   .find({   :/ /ig}) //       

    2. mongoose 조작 데이터베이스
    1. 개념
    nodeJS 기반 mongodb 데이터 베 이 스 를 조작 하 는 제3자 모듈 입 니 다.
    2. 설치
    npm install mongoose
    3. 사용
    routes 디 렉 터 리 에서 데이터 베 이 스 를 사용 해 야 하 는 경로 에 다음 코드 를 추가 합 니 다.
    var mongoose = require('mongoose');
    //     
    mongoose.connect("mongodb://   :27017/    ",function(err){
        if(err){
            throw err;
        }else{
            console.log("       ");
        }
    })
    
    //    
    //schema           ,           
    //    :String、Number、Date、Buffer、ObjectId、Array...
    var userSchema = new mongoose.Schema({
        name:String,
        age:{
            type:Number,
            default:0
        },
        sex:{
            type:String
        }
    })
    
    //    
    //model                 ,         ,         
    var listModel = mongoose.model("    ","  ","    ");
    
    //    Entity
    //Entity               ,         ,       (  ,  ,  )
    var list = new listModel();
    list.    =  ;
    list.save(); //                
    list.remove();//    

    4. 데이터 조작
    데이터 조회 / 읽 기
    //          ,        
          .find({  },function(err,data){
            //data            
            //find               ,             
        })
    
    //  ID      
          .findById('id',function(err,data){
            //find               
        })
    
    //       (           )
          .find({  }).exec(function(err,data){})

    데이터 추가
    var list = new listModel(); //        
    list.name = '  ';
    list.age =23;
    //             
    list.save(function(err){
        console.log("    ");
    })
    
    //  :             ,        

    데이터 삭제
    /*
          :
           :         ,
           :  remove()      
    */
    listModel.findById(id).exec(function(err,data){
        data.remove(function(err){});
    })

    데이터 수정
    /*
          :
           :         ,
           :            
    */
    listModel.findById(id).exec(function(err,data){
        data.name =    ;
        data.age =    ;
        ...
        data.save(function(err){})
    })

    좋은 웹페이지 즐겨찾기