MongoDB 에서 자주 사용 하 는 crud 조작 문
데이터 만 들 기(CREATE)
MongoDB 는 두 가지 방식 으로 데 이 터 를 만 들 었 습 니 다.
db.crud.insert({name: ' ', gender: ' '});
db.crud.save({name: ' ', gender: ' '});
save 방법의 차이 점 은 가지 고 있 으 면id 속성 이 있 으 면 해당 데 이 터 를 업데이트 합 니 다.그렇지 않 으 면 새로운 데 이 터 를 삽입 합 니 다.MongoDB 3.2 이후 두 가지 삽입 방법 이 추가 되 었 습 니 다.insert One 과 insert Many,insert 방법 은 폐기 로 표시 되 었 습 니 다.
db.crud.insertOne({name: ' ', gender: ' '});
db.crud.insertMany([{name: ' ', gender: ' '},{name: ' ', gender: ' '}]);
데이터 업데이트(업데이트)업데이트 할 때 앞 에는 검색 일치 조건 이 있 고 뒤 에는 업데이트 가 필요 한 데이터 입 니 다.
#
db.crud.update({name: ' '}, {name: ' ', gender: ' '});
update 방법 은 기본적으로 모든 데 이 터 를 업데이트 하 는 것 이 아니 라 일치 하 는 데 이 터 를 찾 는 것 입 니 다.여러 개 를 업데이트 하려 면 뒤에 속성 multi:true 를 추가 해 야 합 니 다.또한 문서 가 새로운 데이터 로 모두 바 뀔 수 있 음 을 주의해 야 합 니 다.
#
db.crud.update({name: ' '}, {name: ' ', gender: ' '}, {multi: true});
MongoDB 3.2 버 전 이후 updateOne 과 updateMany 방법 을 추가 해 각각 하나 와 여러 개의 데 이 터 를 업데이트 해 야 한다.
#
db.crud.updateOne({name: ' '}, {$set: {name: ' ', gender: ' '}});
db.crud.updateMany({name: ' '}, {$set: {name: ' ', gender: ' '}});
새 버 전의 MongoDB 에 서 는 updateOne 과 updateMany 가 원자 작업 이 어야 합 니 다.즉,$set 를 사용 하여 업 데 이 트 된 필드 를 지정 하여 전체 문 서 를 덮어 쓰 지 않도록 해 야 합 니 다.지정 하지 않 으 면 오류 가 발생 합 니 다:the update operation document must include atomic operators.**업데이트 사용 을 추천 합 니 다***updateOne**와**updateMany**,더 안전 하고 명확 합 니 다.문서 가 바 뀌 어야 할 경우 replace One 을 사용 할 수 있 습 니 다.
db.crud.replaceOne({name: ' '}, {name: ' ', gender:' '});
삭제(DELETE)MongoDB 3.2 버 전의 삭제 방법 은 deleteOne 과 deleteMany 로 여러 개 와 일치 하 는 데 이 터 를 삭제 하 는 것 에 대응 합 니 다.
db.crud.deleteOne({name: ' '});
db.crud.deleteMany({gender: ' '});
초기 버 전에 서 는 reove 방법 을 사 용 했 습 니 다.reove 는 두 번 째 매개 변수 가 true 라면 일치 하 는 데이터 만 삭제 하 는 것 을 표시 합 니 다.
db.crud.remove({name: ' '});
db.crud.remove({gender: ' '}, true);
특히 remove 방법 으로 매개 변수 대상 이 비어 있 으 면 모든 데 이 터 를 삭제 하 므 로 라 이브 러 리 트랙 의 리듬 을 삭제 해 야 합 니 다.
# ,
db.crud.remove({});
데이터 읽 기(READ)데 이 터 를 읽 는 데 사용 되 는 것 은 find 나 findOne 방법 입 니 다.그 중에서 find 는 모든 결 과 를 되 돌려 줍 니 다.물론 limit 을 사용 하여 반환 항목 수 를 제한 할 수도 있 습 니 다.
#
db.crud.find();
# 2
db.crud.find().limit(2);
# Tom
db.crud.find({name: 'Tom'});
결 과 를 미화 해 야 한다 면 pretty()방법 을 사용 할 수 있다.
db.crud.find().limit(2).pretty();
일부 필드 로 돌아 가 려 면 뒤에서 돌아 오 는 필드 를 지정 할 수 있 습 니 다.제거 하려 면id 는 지정 한 필드 를 표시 해 야 합 니 다.다른 필드 는 포함 되 지 않 으 면 됩 니 다.그렇지 않 으 면 오류 가 발생 할 수 있 습 니 다.Cannot do exclusion on field gender in inclusion procjection.
# _id name
db.crud.find({name: 'Tom'}, {name: 1});
# _id
db.crud.find({name: 'Tom'}, {_id: 0, name: 1});
이상 은 MongoDB 에서 자주 사용 하 는 crud 문장의 상세 한 내용 입 니 다.MongoDB crud 문구 에 관 한 자 료 는 저희 의 다른 관련 글 을 주목 하 세 요!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Heroku에서 mLab add-on 종료로 Mongo DB atlas로 마이그레이션Heroku의 Add-on으로 제공된 mLab MongoDB가 2020/11/10 종료됩니다. 요 전날 mLab이 MongoDB, Inc.에 인수되었기 때문에 동반됩니다. errbit 등을 Heroku에서 호스팅하는...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.