MongoDB\BSON\ObjectId::__toString

(mongodb >=1.0.0)

MongoDB\BSON\ObjectId::__toString返回此 ObjectId 的十六进制表示形式

说明

final public MongoDB\BSON\ObjectId::__toString(): string

参数

此函数没有参数。

返回值

返回此 ObjectId 的十六进制表示形式。

示例

示例 #1 MongoDB\BSON\ObjectId::__toString() 示例

<?php

var_dump
((string) new MongoDB\BSON\ObjectId());
var_dump((string) new MongoDB\BSON\ObjectId('000000000000000000000001'));

?>

以上示例将输出类似于以下内容

string(24) "56731b49da14d8747d701211"
string(24) "000000000000000000000001"
添加注释

用户贡献的注释 1 条注释

1
Jared C.
8 年前
我发现当我尝试填充一个关联数组(mongoguid => stringValue)时,我不得不手动调用 __toString 方法。

$filter = [];
$options = [];
$this->propertyMap = [];
try {
$query = new \MongoDB\Driver\Query($filter, $options);
$cursor = $this->mongo->executeQuery('MyDbName.MyColectionName', $query);
} catch (Exception $e) {
echo "Mongo 查询失败,无法提取集合" . PHP_EOL;
echo($e->getMessage());
die("aborting");
}
foreach ($cursor as $property) {
//$this->propertyMap[$property->{_id}->__toString()] = $property->name;
$this->propertyMap[$property->name] = $property->{_id}->__toString();
}

你也可以使用 $property->{_id} . "" 来获得相同的字符串结果。否则,你会得到一个包含 MongoDB\BSON\ObjectID 对象的数组。
To Top