MongoDB 는 다단 계 문서 의 데 이 터 를 어떻게 업데이트 합 니까?
다음 데이터(데이터 세트 이름 은 author)를 예 로 들 면:
{name: ' ', documents: ['Flutter ', ' MySQL', 'MongoDB ']}
우 리 는 MongoDB 전문 지 북 을 MongoDB 가 전문 적 으로 가리 키 지 않 는 북 으로 바 꿔 야 한다.이것 은 포 함 된 문서 데 이 터 를 수정 하 는 것 에 속한다.이 때 는 MongoDB 에서 제공 하 는 포 지 셔 닝 연산 자$를 사용 해 야 합 니 다.포 지 셔 닝 조작 자 는 대응 하 는 조건 을 일치 시 키 는 데 이 터 를 나타 낸다.예 를 들 어:
db.author.update(
{name: ' ', documents: 'MongoDB '},
{'$set': {'documents.$': 'MongoDB '}}
);
하위 노드 가 배열 인 것 도 마찬가지다.
{
name: ' ',
documents: [
{name: 'Flutter ', score: 80},
{name: ' MySQL', score: 90},
{name: 'MongoDB ', score: 85}
]
}
documengs 노드 의 name 과 score 를 수정 해 야 합 니 다.
db.author.update(
{name: ' ', 'documents.name': 'MongoDB '},
{'$set': {
'documents.$.name': 'MongoDB ',
'documents.$.score':88}
}
);
$포 지 셔 닝 조작 자 는 검색 조건 에서 찾 은 배열 의 데이터 요소 위 치 를 나타 내 는 것 입 니 다.즉,이 위치의 데 이 터 를 조작 하 는 것 을 나타 내 는 것 입 니 다.하위 문서 속성 업데이트
다음 문서 속성 을 업데이트 할 때 속성 접근 자"를 직접 사용 할 수 있 습 니 다.예 를 들 어 다음 에 praise 를 291 로 업데이트 해 야 합 니 다.
{
name: ' ',
scores: {
view: 18800,
praise: 290,
followers: 105
}
}
db.author.update(
{name: ' '},
{'$set': {'scores.praise': 291}}
);
하위 문서 에 포 함 된 배열 이 존재 하 는 것 도 비슷 한 작업 입 니 다.예 를 들 어 아래 의 데이터 와 같이'공중 번호'를'위 챗 공중 번호'로 바 꿔 야 합 니 다.
{
name: ' ',
scores: {
view: 18800,
praise: 290,
followers: 105,
platform: [' ', ' ']
}
}
db.author.update(
{'name': ' ', 'scores.platform': ' '},
{'$set': {'scores.platform.$':' '}}
);
속성 증가 및 제거MongoDB 는$push 와$pull 작업 명령 을 제공 하여 속성 을 증가 하거나 제거 하 는 동시에$pop 을 제공 하여 배열 의 첫 번 째 또는 마지막 값 을 제거 합 니 다.우 리 는 이전 문서 에 홈 페이지 속성 을 추가 합 니 다.
db.author.update(
{name: ' '},
{$push: {homepage: 'https://juejin.cn/user/70787819648695'}}
);
주의해 야 할 것 은 이때 홈 페이지 라 는 배열 이 삽입 되 어 있 습 니 다.그 중의 하 나 는 jejin.cn/user/707878 입 니 다.배열 이 아 닌 속성 을 증가 시 키 려 면$set 명령 을 사용 하면 됩 니 다.pull 을 사용 하여 일치 하 는 속성 을 제거 할 수 있 습 니 다.
db.author.update(
{name: ' '},
{$pull: {homepage: 'https://juejin.cn/user/70787819648695'}}
);
$pop 작업 시 숫자-1 과 1 을 사용 하여 수미 요 소 를 제거 하고 아래 데이터 에 대해 배열 platform 의 데 이 터 를 제거 합 니 다.
{
name: ' ',
scores : {
view: 18800,
praise: 290,
followers: 105,
platform: [' ', ' ', ' 1', ' 2']
}
}
//
db.author.update({name: ' '}, {$pop: {'scores.platform': -1}});
//
db.author.update({name: ' '}, {$pop: {'scores.platform': 1}});
총결산이 편 에 서 는 MongoDB 의 내장 속성 업데이트 작업 을 소개 합 니 다.주로 포 지 셔 닝 연산 자$의 사용 입 니 다.포 지 셔 닝 부 호 를 통 해 우리 가 수정 해 야 할 데이터 위 치 를 찾 아 업데이트 작업 을 할 수 있 습 니 다.그리고 속성의 추가 와 제거,$push,$pull,$pop 명령 을 통 해 응답 하 는 작업 을 수행 할 수 있 습 니 다.
이상 은 MongoDB 가 다단 계 문서 의 데 이 터 를 어떻게 업데이트 하 는 지 에 대한 상세 한 내용 입 니 다.MongoDB 가 다단 계 문 서 를 업데이트 하 는 지 에 관 한 자 료 는 저희 의 다른 관련 글 을 주목 하 시기 바 랍 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 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에 따라 라이센스가 부여됩니다.