$regexMatch - Amazon DocumentDB

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

$regexMatch

버전 5.0의 새 버전입니다. Elastic 클러스터에서는 지원되지 않습니다.

Amazon DocumentDB의 $regexMatch 연산자는 문자열 필드에서 정규식 일치를 수행하는 데 사용됩니다. 입력 문자열이 지정된 패턴과 일치하는지 여부를 나타내는 부울 값(true 또는 false)을 반환합니다.

파라미터

  • input: 정규식에 대해 테스트할 문자열입니다.

  • regex: 일치시킬 정규식 패턴입니다.

  • options: (선택 사항) 대소문자를 구분하지 않는 일치() 또는 여러 줄 일치(i)와 같은 정규 표현식 동작을 수정하는 플래그입니다m.

예제(MongoDB 쉘)

다음 예제에서는 $regexMatch 연산자를 사용하여 이름이 'M' 문자로 시작하는지 확인하는 방법을 보여줍니다. 연산자는 각 문서에 false 대해 true 또는를 반환합니다.

샘플 문서 생성

db.users.insertMany([ { "_id":1, name: "María García", email: "maría@example.com" }, { "_id":2, name: "Arnav Desai", email: "arnav@example.com" }, { "_id":3, name: "Martha Rivera", email: "martha@example.com" }, { "_id":4, name: "Richard Roe", email: "richard@example.com" }, ]);

쿼리 예제

db.users.aggregate([ { $project: { name: 1, startsWithM: { $regexMatch: { input: "$name", regex: "^M", options: "i" } } } } ]);

출력

{ _id: 1, name: 'María García', startsWithM: true }, { _id: 2, name: 'Arnav Desai', startsWithM: false }, { _id: 3, name: 'Martha Rivera', startsWithM: true }, { _id: 4, name: 'Richard Roe', startsWithM: false }

코드 예제

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

Node.js
const { MongoClient } = require('mongodb'); async function checkNamePattern() { 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('users'); const result = await collection.aggregate([ { $project: { name: 1, startsWithM: { $regexMatch: { input: "$name", regex: "^M", options: "i" } } } } ]).toArray(); console.log(result); await client.close(); } checkNamePattern();
Python
from pymongo import MongoClient def check_name_pattern(): 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.users result = list(collection.aggregate([ { '$project': { 'name': 1, 'startsWithM': { '$regexMatch': { 'input': '$name', 'regex': '^M', 'options': 'i' } } } } ])) print(result) client.close() check_name_pattern()