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
집합 중 문서 관계내 장 된 문서 형식 으로 구현,
//
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});`
총결산
이상 은 이 글 의 전체 내용 입 니 다.본 논문 의 내용 이 여러분 의 학습 이나 업무 에 어느 정도 참고 학습 가치 가 있 기 를 바 랍 니 다.궁금 한 점 이 있 으 시 면 댓 글 을 남 겨 주 셔 서 저희 에 대한 지지 에 감 사 드 립 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
레코드를 업데이트하고 업데이트 전에 동일한 레코드를 삭제하는 방법(nest js & mongoDB)ID로 레코드를 업데이트하고 싶지만 업데이트 전에 동일한 레코드에 이전에 저장된 데이터를 삭제하고 싶습니다. 프로세스는 무엇입니까? 컨트롤러.ts 서비스.ts 나는 이것을 해결하기 위해 이런 식으로 노력하고 있습니다...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.