Docs Menu
Docs Home
/
데이터베이스 매뉴얼
/ / /

ClientEncryption.encryptExpression() (mongosh 메서드)

ClientEncryption.encryptExpression(keyId, expression, encOptions)

ClientEncryption.encryptExpression 쿼리된 필드의 keyId, encOptions 문서의 쿼리 유형 및 알고리즘을 사용하여 범위 인덱스를 쿼리하기 위해 MQL 표현식 을 암호화합니다. 쿼리 의 암호화됨 결과를 반환합니다.

반환합니다:

쿼리 의 암호화됨 결과는 binary data 하위 유형 을 6 가진 객체 입니다.

이 명령은 다음 환경에서 호스팅되는 배포에서 사용할 수 있습니다.

  • MongoDB Atlas: 클라우드에서의 MongoDB 배포를 위한 완전 관리형 서비스

clientEncryption = db.getMongo().getClientEncryption()
clientEncryption.encryptExpression(
keyId,
expression,
encOptions
)
Parameter
유형
설명

keyId

UUID

표현식 에서 쿼리된 필드 에 대한 데이터 암호화 키 .

UUID는 특정 데이터 암호화 키 식별하는 하위 유형 이 있는 BSON 객체 입니다.binary data 4 데이터베이스 연결에 대해 구성된 키 볼트에 데이터 암호화 키 없는 경우 에서 오류를encryptExpression() 반환합니다. 키 볼트 및 데이터 암호화 키에 대한 자세한 내용은 키 볼트 컬렉션을 참조하세요.

expression

문서

다음 중 하나로 암호화할 범위 쿼리 표현식 입니다.

  • {$and: [{<field>: {$gt: <value1>}}, {<field>: {$lt: <value2> }}]}형식의 $match 표현식

  • {$and: [{$gt: [<fieldpath>, <value1>]}, {$lt: [<fieldpath>, <value2>]}]}형식의 aggregate 표현식

표현식은 $lte 또는 $gte를 사용할 수도 있습니다.

encOptions

문서

필드가 있는 문서 :

  • algorithm: expression 암호화에 사용할 암호화 알고리즘 입니다. "range"(으)로 설정하다 해야 합니다.

  • queryType: 쿼리 유형입니다. "range"(으)로 설정하다 해야 합니다.

  • rangeOptions: 범위 쿼리 설정이 있는 문서 입니다. 값은 컬렉션의 암호화 스키마 에 있는 값과 일치해야 합니다.

    • min, max: 필드의 BSON types와 일치하는 최소값 및 최대값.

    • precision: doubledecimal128 필드를 쿼리할 때 MongoDB 고려하는 유효 자릿수입니다.

    • sparsity: MongoDB 범위 값을 얼마나 철저히 인덱스하는지에 영향을 줍니다.

    • trimFactor: 동시 삽입 및 업데이트의 처리량 제어합니다.

  • contentionFactor: 표현식 에 있는 필드 값의 빈도와 관련이 있습니다. 자세한 내용은 경합을 참조하세요.

mongosh 클라이언트 사이드 필드 수준 및 Queryable Encryption 메서드를 사용하려면 클라이언트 사이드 암호화를 위해 구성된 데이터베이스 연결이 필요합니다. 클라이언트 사이드 필드 수준 암호화가 활성화된 상태에서 현재 데이터베이스 연결이 시작되지 않은 경우 다음 중 하나를 수행합니다.

or

clientEncryption.encryptExpression(
UUID("64e2d87d-f168-493c-bbdf-a394535a2cb9"),
{
$and: [{ val: { $gt: Int32('100') } }, { val: { $lt: Int32('150') } }]
},
{
algorithm: 'range',
queryType: 'range',
rangeOptions: { min: Int32('0'), max: Int32('200') },
contentionFactor: 8
})

성공적인 하면 ClientEncryption.encryptExpression 가 암호화됨 쿼리 결과를 반환합니다.

클라이언트 측 필드 레벨 암호화 또는 Queryable Encryption 활성화된 상태에서 MongoDB 연결을 시작하는 방법에 대한 전체 문서는 Mongo()를 참조하세요.

돌아가기

ClientEncryption.encrypt

이 페이지의 내용