函式名:MongoDB\Driver\Cursor::setTypeMap()
適用版本:MongoDB擴充套件版本1.2.0及以上
用法:該方法用於設定遊標返回結果的型別對映。型別對映允許將MongoDB文件欄位的資料型別轉換為PHP中對應的資料型別。預設情況下,MongoDB\Driver\Cursor返回的結果是關聯陣列。
語法:public MongoDB\Driver\Cursor::setTypeMap(array $typemap) : void
引數:
- $typemap(必需):一個關聯陣列,用於指定型別對映規則。陣列的鍵是MongoDB文件欄位的名稱,值是對應的PHP資料型別。
返回值:無
示例:
// 建立MongoDB連線
$manager = new MongoDB\Driver\Manager("mongodb://localhost:27017");
// 建立查詢
$query = new MongoDB\Driver\Query([]);
// 執行查詢並獲取遊標
$cursor = $manager->executeQuery("test.collection", $query);
// 設定型別對映規則
$typeMap = [
'age' => 'int',
'name' => 'string',
'address' => 'array',
'is_active' => 'bool'
];
$cursor->setTypeMap($typeMap);
// 遍歷遊標結果
foreach ($cursor as $document) {
// 訪問欄位並確保其資料型別已轉換
$age = (int)$document->age;
$name = (string)$document->name;
$address = (array)$document->address;
$is_active = (bool)$document->is_active;
// 列印轉換後的資料
echo "Age: $age, Name: $name, Address: ";
print_r($address);
echo "Is Active: " . ($is_active ? 'Yes' : 'No') . "\n";
}
在上述示例中,我們首先建立了一個MongoDB連線和查詢。然後,我們透過呼叫setTypeMap()方法設定了型別對映規則。在遍歷遊標結果時,我們將對應欄位的值轉換為指定的PHP資料型別,並列印出來。這樣我們就可以確保在使用結果資料時,其型別與預期一致。
熱門工具排行榜