English | 简体中文 | 繁體中文
查询

MongoDB\Driver\Manager::getEncryptedFieldsMap()函数—用法及示例

「 返回一个映射表,该表包含加密字段的信息 」


函数名称:MongoDB\Driver\Manager::getEncryptedFieldsMap()

函数描述:返回一个映射表,该表包含加密字段的信息。

适用版本:MongoDB PHP扩展版本1.7.0及以上。

用法:

public function getEncryptedFieldsMap(): array

返回值:一个关联数组,其中键是集合名称,值是一个包含加密字段信息的关联数组。

示例:

<?php
$manager = new MongoDB\Driver\Manager("mongodb://localhost:27017");

// 创建一个集合
$command = new MongoDB\Driver\Command([
    'create' => 'users',
    'validator' => [
        '$jsonSchema' => [
            'bsonType' => 'object',
            'required' => ['name', 'email'],
            'properties' => [
                'name' => ['bsonType' => 'string'],
                'email' => ['bsonType' => 'string']
            ]
        ]
    ]
]);
$manager->executeCommand('mydb', $command);

// 向集合中插入一些文档
$bulk = new MongoDB\Driver\BulkWrite;
$bulk->insert(['name' => 'John Doe', 'email' => 'johndoe@example.com']);
$bulk->insert(['name' => 'Jane Smith', 'email' => 'janesmith@example.com']);
$manager->executeBulkWrite('mydb.users', $bulk);

// 获取加密字段的映射表
$encryptedFieldsMap = $manager->getEncryptedFieldsMap();

// 打印映射表
print_r($encryptedFieldsMap);
?>

输出示例:

Array
(
    [users] => Array
        (
            [0] => Array
                (
                    [name] => encrypted
                    [email] => encrypted
                )

        )

)

注意事项:

  • 该函数需要MongoDB PHP扩展版本1.7.0及以上。
  • 在使用此函数之前,需要确保已经启用了字段级加密(Field-Level Encryption)功能。
  • 返回的映射表中,每个集合对应一个关联数组,其中键是集合名称,值是一个包含加密字段信息的关联数组。
  • 加密字段信息的关联数组中,键是字段名称,值是加密状态,如果字段被加密,则值为"encrypted",否则为"not encrypted"。
补充纠错
热门PHP函数
分享链接