MongoDB 에서 자주 사용 하 는 문 구 를 정리 합 니 다.

6223 단어 mongodb상용문장
머리말
MongoDB 와 MySQL 의 기본 문 구 는 큰 차이 가 있 습 니 다.오늘 MongoDB 에서 자주 사용 하 는 기본 문 구 를 소개 하 겠 습 니 다.다음은 더 이상 말 하지 않 겠 습 니 다.상세 한 소 개 를 해 보 겠 습 니 다.
MOngoDB  삭제 문
delete()삭제
집합 삭제

db.collection.deleteOne()
여러 집합 삭제

db.collection.deletMany();
remove()삭제
모든 name:이사 의 데이터 삭제

db.student.remove({name:"  "});
남자 데이터 하나만 삭제

db.student.remove({sex:" "},true);
모두 삭제

db.student.remove({});
데이터베이스 가짜 삭제
사용자 가 작업 을 삭제 할 때 필요 한 것 은 이 데이터 만 숨 기 는 것 이지 데이터 베이스 에서 삭제 하 는 것 이 아 닙 니 다.
이때 가짜 로 삭 제 했 습 니 다.예 를 들 어 이것 은 세 발의 웨 이 보 두 편 입 니 다.

db.student.insert([
 {name:"  ",content:"     ",isDel:0},
 {name:"  ",content:"      ",isDel:0},
]);

사용자 가 두 개의 데 이 터 를 추가 하 였 으 나,다음 항목 만 보류 하고,이전 항목 을 삭제 하 였 으 며,이 때 는 가짜 로 삭제 하 였 으 며,데 이 터 를 추가 할 때 필드 를 추가 하 였 습 니 다 isdel:0
그래서 사용자 가 데 이 터 를 삭제 할 때 reove 방법 이 아니 라 update 방법 을 실행 합 니 다.

db.student.update({"_id" : ObjectId("5bd6a46f1eb7a22fa07cb382")},{
 $set:{
 isDel:1
 }
});

isDel:0 은 사용자 가 삭제 하지 않 았 음 을 나타 내 는 것 이 고 1 은 사용자 가 삭제 되 었 음 을 나타 내 는 것 입 니 다.
그래서 검색 할 때 name 과 isDel 조건 을 선택 하면 됩 니 다.

db.student.find({name:"  ",isDel:0});
사용자 가 삭제 하지 않 은 데 이 터 를 조회 합 니 다:

그리고 가짜 삭 제 를 실현 할 수 있 습 니 다.
대량 데이터 조작 및 수정
집합 에 10000 개의 문 서 를 삽입 하 다

var arr= [];
for(var i=0;i<10000;i++){
 arr.push({counter:i});
}
db.demos.insert(arr);
db.demos.find();
demos 에서 counter 가 666 인 문 서 를 조회 합 니 다.

db.demos.find({counter:666});
demos 에서 counter 가 66 보다 작은 문 서 를 조회 합 니 다.

db.demos.find({counter:{$lt:666}});
demos 에서 counter 대 T666 문 서 를 조회 합 니 다.

db.demos.find({counter:{$gt:666}});
demos 에서 conter 가 66 보다 작은 문서 1120 차 지 demos 집합 에서 10 여 개의 데 이 터 를 조회 합 니 다.

db.demos.find({counter:{$gt:66, $lt:666}});
석 demos 집합 중의 첫 번 째 글자 부터 20 개의 데 이 터 를 찾 습 니 다.

db.demos.find().limit(10);
봄 demos 집합 중 21 조 에서 30 조 까지 의 데 이 터 를 찾 습 니 다.  페이지 기능   skip 몇 개 부터 limit 매번 몇 개 조회

db.demos.find().skip(0).limit(10);//     0       10 
db.demos.find().skip(10).limit(10);//     10       10 
db.demos.find().skip(20).limit(10);//     20       10 
집합 중 문서 관계
  • 1 대 1(one to one):예 를 들 어 사람과 신분증   남편 과 아내
  • 쌍 이 많다(one to many):예 를 들 어 부모 와 아이  사용자 와 아 이 템
  • 여 쌍(many to many):예 를 들 어 선생님 과 학생
  • 일대일
    내 장 된 문서 형식 으로 구현,
    
    //   
    db.aAndb.insert([
     {name:"  ",wife:{name:"   ",sex:" "},sex:" "},
     {name:"  ",wife:{name:"   ",sex:" "},sex:" "}
    ])
    
    db.aAndb.find();
    한 쌍 이 많다
    내 장 된 문서 의 형식 으로 실현 되 거나 집합 을 통 해 이 루어 집 니 다.
    
    //                
    //    
    db.weibo.insert([
    {weibo:"     ,     "},
    {weibo:"     web   !!!"}
    ])
    
    db.weibo.find();
    댓 글 추가
    
    db.comments.insert([
    {
    weibo_id: ObjectId("5bdd89e06a5e78f4cfc2b9c8"),
    list:[
     "     ",
     "    ??   ??",
     "  !!"
    ]
    },
    {
    weibo_id: ObjectId("5bdd89e06a5e78f4cfc2b9c9"),
    list:[
     "     HTML",
     "       css",
     "  !!"
    ]
    }
    ]);
    
    db.comments.find();
    조회
    
    var weibo_id= db.weibo.findOne({"weibo" : "     ,     "})._id;
    db.comments.find({weibo_id: weibo_id});
    다 대 다 의 관계
    학생 과 선생님
    다 중 문서 로 연결 할 수 있 습 니 다.
    
    //      《------》  
    
    //      
    db.teachers.insert([
    {
     name:"    ",
     teacher_id: 1,
     student_id:[
     1001,
     1002,
     1003
     ]
     },
    {
     name:"    ",
     teacher_id: 2,
     student_id:[
     1001,
     1002,
     1003
     ]
     },
    {
     name:"    ",
     teacher_id: 3,
     student_id:[
     1001,
     1002,
     1003
     ]
     }
    ])
    
    db.teachers.find();
    
    
    //      
    db.students.insert([
    {
     name:"  ",
     student_id: 1001,
     teacher_id:[
     1,
     2,
     3
     ]
     },
    {
     name:"  ",
     student_id: 1002,
     teacher_id:[
     1,
     2,
     3
     ]
     },
    {
     name:"  ",
     student_id: 1003,
     teacher_id:[
     1,
     2,
     3
     ]
     }
    ])
    
    db.students.find();
    db.teachers.find();
    정렬 및 인덱스
    정렬:
    문 서 를 조회 할 때 기본 값 은id 값 정렬(오름차 순)
    sort()는 문서 의 정렬 규칙 을 지정 할 수 있 습 니 다.sort()내 부 는 하나의 대상 을 전달 하여 문서 의 정렬 규칙 을 지정 해 야 합 니 다.그 중에서 1 은 오름차 를 표시 하고-1 은 내림차 를 표시 합 니 다.
    limit skip sort 의 순 서 는 임의로 변경 할 수 있 으 며,실행 시 자동 으로 조 정 됩 니 다.
    기본적으로 id 로 정렬 하 는 것 을 원 하지 않 습 니 다.  월급 에 따라 순 위 를 매 겼 으 면 좋 겠 어 요.
    
    //        
    
    db.section.find().sort({wages:1});
    
    //                       id    
    db.section.find().sort({wages: 1},{_id: -1});
    색인:
    필드 의 일부 내용 보 여주 기
    이 필드 의 일부 내용 을 추출 하거나
    조회 할 때 두 번 째 매개 변수 에서 조회 결과 투영 을 설정 할 수 있 습 니 다.
    색인:find({검색 조건},{검색 범위(1 표시 0 숨 김)}
    주의:id 기본 값 을 설정 하지 않 으 면 수 동 으로 숨 길 수 있 습 니 다.
    
    db.section.find({}, {name: 1});
    //   name wages  
    `db.section.find({}, {name: 1, _id: 0, wages: 1});`

    총결산
    이상 은 이 글 의 전체 내용 입 니 다.본 논문 의 내용 이 여러분 의 학습 이나 업무 에 어느 정도 참고 학습 가치 가 있 기 를 바 랍 니 다.궁금 한 점 이 있 으 시 면 댓 글 을 남 겨 주 셔 서 저희 에 대한 지지 에 감 사 드 립 니 다.

    좋은 웹페이지 즐겨찾기