$replaceAll - Amazon DocumentDB

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

$replaceAll

5.0에 도입

Amazon DocumentDB의 $replaceAll 연산자는 필드 내에서 지정된 문자열 패턴의 모든 발생을 새 문자열로 대체하는 데 사용됩니다. 이 연산자는 데이터 정규화, 텍스트 정리 및 문자열 조작과 같은 작업에 유용할 수 있습니다.

파라미터

  • input: 대체할 문자열이 포함된 필드 또는 표현식입니다.

  • find: 검색 및 대체할 문자열 패턴입니다.

  • replacement: 일치하는 발생을 대체할 문자열입니다.

예제(MongoDB 쉘)

다음 예제에서는 집계 파이프라인에서 $replaceAll 연산자를 사용하여 문자열 "Chocolatier"의 모든 발생을 "Chocolate Co."로 대체하는 방법을 보여줍니다. "products" 컬렉션의 "brandName" 필드에

샘플 문서 생성

db.products.insertMany([ { "_id": 1, "productId": "PROD-0Y9GL0", "brandName": "Gordon's Chocolatier", "category": "CPG", "rating": { "average": 4.8 } }, { "_id": 2, "productId": "PROD-1X2YZ3", "brandName": "Premium Chocolatier", "category": "CPG", "rating": { "average": 4.5 } }, { "_id": 3, "productId": "PROD-Y2E9H5", "name": "Nutrition Co. - Original Corn Flakes Cereal", "category": "Breakfast Cereals", "price": 8.5 } ]);

쿼리 예제

db.products.aggregate([ { $addFields: { "brandName": { $replaceAll: { input: "$brandName", find: "Chocolatier", replacement: "Chocolate Co." } } } } ])

출력

[ { _id: 1, productId: 'PROD-0Y9GL0', brandName: "Gordon's Chocolate Co.", category: 'CPG', rating: { average: 4.8 } }, { _id: 2, productId: 'PROD-1X2YZ3', brandName: 'Premium Chocolate Co.', category: 'CPG', rating: { average: 4.5 } }, { _id: 3, productId: 'PROD-Y2E9H5', name: 'Nutrition Co. - Original Corn Flakes Cereal', category: 'Breakfast Cereals', price: 8.5, brandName: null } ]

코드 예제

$replaceAll 명령을 사용하기 위한 코드 예제를 보려면 사용하려는 언어의 탭을 선택합니다.

Node.js
const { MongoClient } = require('mongodb'); async function replaceAll() { const client = await MongoClient.connect('mongodb://<username>:<password>@<cluster-endpoint>:27017/?tls=true&tlsCAFile=global-bundle.pem&replicaSet=rs0&readPreference=secondaryPreferred&retryWrites=false'); const db = client.db('test'); const collection = db.collection('products'); const results = await collection.aggregate([ { $addFields: { "brandName": { $replaceAll: { input: "$brandName", find: "Chocolatier", replacement: "Chocolate Co." } } } } ]).toArray(); console.log(results); await client.close(); } replaceAll();
Python
from pymongo import MongoClient def replace_all(): client = MongoClient('mongodb://<username>:<password>@<cluster-endpoint>:27017/?tls=true&tlsCAFile=global-bundle.pem&replicaSet=rs0&readPreference=secondaryPreferred&retryWrites=false') db = client.test collection = db.products results = list(collection.aggregate([ { "$addFields": { "brandName": { "$replaceAll": { "input": "$brandName", "find": "Chocolatier", "replacement": "Chocolate Co." } } } } ])) print(results) client.close() replace_all()