기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
$replaceOne
5.0에 도입
Amazon DocumentDB의 $replaceOne 연산자는 집계 파이프라인 내에서 문자열 내에서 지정된 하위 문자열의 첫 번째 발생을 대체 문자열로 대체하는 데 사용되는 문자열 표현식 연산자입니다. 이 연산자는 대/소문자를 구분하며 발견된 첫 번째 일치 항목만 대체합니다.
파라미터
-
input: 찾기를 수행할 문자열(필드)입니다. -
find: 입력 내에서 검색할 문자열입니다. -
replacement: 입력(필드)에서 찾기의 첫 번째 발생을 대체하는 문자열입니다.
예제(MongoDB 쉘)
다음 예제에서는 집계 파이프라인 내에서 $replaceOne 연산자를 사용하여 제품 이름의 하위 문자열을 대체하는 방법을 보여줍니다.
샘플 문서 생성
db.products.insertMany([ { "_id":1, "productId": "PROD-0Y9GL0", "name": "Gordon's Extra Creamy Milk Chocolate - Pack of 4", "category": "Confectionery", "price": 24.99 }, { "_id":2, "productId": "PROD-Y2E9H5", "name": "Nutrition Co. - Original Corn Flakes Cereal", "category": "Breakfast Cereals", "price": 8.50 }, { "_id":3, "productId": "PROD-Z3F8K2", "name": "Gordon's Dark Chocolate (90% Cocoa) Pack - Pack of 4", "category": "Confectionery", "price": 28.99 } ]);
집계 예제
db.products.aggregate([ { $addFields: { standardizedName: { $replaceOne: { input: "$name", find: "Pack", replacement: "Package" } } } } ]);
출력
출력은 각 제품 이름에서 첫 번째로 발생한 "Pack"만 "Package"로 대체되었음을 보여줍니다.
[
{
_id: 1,
productId: 'PROD-0Y9GL0',
name: "Gordon's Extra Creamy Milk Chocolate - Pack of 4",
category: 'Confectionery',
price: 24.99,
standardizedName: "Gordon's Extra Creamy Milk Chocolate - Package of 4"
},
{
_id: 2,
productId: 'PROD-Y2E9H5',
name: 'Nutrition Co. - Original Corn Flakes Cereal',
category: 'Breakfast Cereals',
price: 8.5,
standardizedName: 'Nutrition Co. - Original Corn Flakes Cereal'
},
{
_id: 3,
productId: 'PROD-Z3F8K2',
name: "Gordon's Dark Chocolate (90% Cocoa) Pack - Pack of 4",
category: 'Confectionery',
price: 28.99,
standardizedName: "Gordon's Dark Chocolate (90% Cocoa) Package - Pack of 4"
}
코드 예제
$replaceOne 명령을 사용하기 위한 코드 예제를 보려면 사용하려는 언어의 탭을 선택합니다.