Mongodb: 컬렉션에 새 필드를 추가하는 방법
다음 방법을 사용하여 MongoDB 컬렉션의 각 문서에 새 필드를 추가할 수 있습니다.
방법 1: 값 없이 새 필드 추가
db.collection.updateMany({}, { $set :{" new_field ": null}})
방법 2: 특정 값을 가진 새 필드 추가
db.collection.updateMany({}, { $set :{" new_field ": 10 }})
방법 3: 기존 필드의 값을 사용하여 새 필드 추가
db.collection.updateMany( {}, [ {" $set ": {" name ": { " $concat ": [" $field1 ", " ", " $field2 "]}}} ] )
다음 예는 다음 문서를 가지고 수집 팀 과 함께 각 방법을 사용하는 방법을 보여줍니다.
db.teams.insertOne({team: " Mavs ", position: " Guard ", points: 31 }) db.teams.insertOne({team: " Spurs ", position: " Guard ", points: 22 }) db.teams.insertOne({team: " Rockets ", position: " Center ", points: 19 }) db.teams.insertOne({team: " Warriors ", position: " Forward ", points: 26 }) db.teams.insertOne({team: " Cavs ", position: " Guard ", points: 33 })
예 1: 값 없이 새 필드 추가
다음 코드를 사용하여 컬렉션의 각 기존 문서에 null 값이 있는 “bounces”라는 새 필드를 추가할 수 있습니다.
db.teams.updateMany({}, { $set :{" rebounds ": null}})
다음 쿼리를 사용하여 처음으로 업데이트된 문서를 표시할 수 있습니다.
db.teams.find().limit( 3 )
이 쿼리는 다음 문서를 반환합니다.
{ _id: ObjectId("6189325896cd2ba58ce928e5"), team: 'Mavs', position: 'Guard', points: 31, rebounds: null } { _id: ObjectId("6189325896cd2ba58ce928e6"), team: 'Spurs', position: 'Guard', points: 22, rebounds: null } { _id: ObjectId("6189325896cd2ba58ce928e7"), team: 'Rockets', position: 'Center', points: 19, rebounds: null }
이제 각 문서에는 null 값이 있는 “bounces”라는 필드가 있습니다.
예 2: 특정 값을 가진 새 필드 추가
다음 코드를 사용하여 컬렉션의 각 기존 문서에 값이 10 인 “bounces”라는 새 필드를 추가할 수 있습니다.
db.teams.updateMany({}, { $set :{" rebounds ": 10 }})
다음 쿼리를 사용하여 처음으로 업데이트된 문서를 표시할 수 있습니다.
db.teams.find().limit( 3 )
이 쿼리는 다음 문서를 반환합니다.
{ _id: ObjectId("6189325896cd2ba58ce928e5"), team: 'Mavs', position: 'Guard', points: 31, rebounds: 10 } { _id: ObjectId("6189325896cd2ba58ce928e6"), team: 'Spurs', position: 'Guard', points: 22, rebounds: 10 } { _id: ObjectId("6189325896cd2ba58ce928e7"), team: 'Rockets', position: 'Center', points: 19, rebounds: 10 }
이제 각 문서에는 값이 10인 “bounces”라는 필드가 있습니다.
예시 3: 기존 필드의 값을 사용하여 새 필드 추가
다음 코드를 사용하여 값이 기존 “team” 및 “position” 필드를 연결한 “name” 필드를 추가할 수 있습니다.
db.teams.updateMany( {}, [ {" $set ": {" name ": { " $concat ": [" $team ", " ", " $position "]}}} ] )
다음 쿼리를 사용하여 처음으로 업데이트된 문서를 표시할 수 있습니다.
db.teams.find().limit( 3 )
이 쿼리는 다음 문서를 반환합니다.
{ _id: ObjectId("618934cb96cd2ba58ce928ea"), team: 'Mavs', position: 'Guard', points: 31, name: 'Mavs Guard' } { _id: ObjectId("618934cb96cd2ba58ce928eb"), team: 'Spurs', position: 'Guard', points: 22, name: 'Spurs Guard' } { _id: ObjectId("618934cb96cd2ba58ce928ec"), team: 'Rockets', position: 'Center', points: 19, name: 'Rockets Center' }
이제 각 문서에는 “팀”과 “직위” 필드를 연결한 값인 “이름”이라는 필드가 있습니다.
참고 : updateMany() 함수에 대한 전체 문서는 여기에서 찾을 수 있습니다.
추가 리소스
다음 튜토리얼에서는 MongoDB에서 다른 일반적인 작업을 수행하는 방법을 설명합니다.
MongoDB: 필드 이름을 바꾸는 방법
MongoDB: 필드를 삭제하는 방법
MongoDB: 필드에 문자열이 포함되어 있는지 확인하는 방법
MongoDB: 날짜 범위로 쿼리하는 방법
MongoDB: “Like” 정규식을 사용하여 쿼리하는 방법