I found I had to manually call the __toString method when I was trying to populate an associative array of mongoguid => stringValue:
$filter = [];
$options = [];
$this->propertyMap = [];
try {
$query = new \MongoDB\Driver\Query($filter, $options);
$cursor = $this->mongo->executeQuery('MyDbName.MyColectionName', $query);
} catch (Exception $e) {
echo "Mongo Query failure pulling the collection" . 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();
}
You could also do it as $property->{_id} . "" to get the same string result. Otherwise you end up with an array of MongoDB\BSON\ObjectID objects.
PHP.mk документација
MongoDB\BSON\ObjectId::__toString
Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.
Патека
mongodb-bson-objectid.tostring.php
Локална патека за оваа страница.
Извор
php.net/manual/en
Оригиналниот HTML се реупотребува и локално се стилизира.
Режим
Прокси + превод во позадина
Кодовите, табелите и белешките остануваат читливи во истиот тек.
Референца
mongodb-bson-objectid.tostring.php
MongoDB\BSON\ObjectId::__toString
Референца за `mongodb-bson-objectid.tostring.php` со подобрена типографија и навигација.
MongoDB\BSON\ObjectId::__toString
класата MongoDB\Driver\BulkWrite
MongoDB\BSON\ObjectId::__toString — Returns the hexidecimal representation of this ObjectId
= NULL
Параметри
Оваа функција нема параметри.
Вратени вредности
Returns the hexidecimal representation of this ObjectId.
Примери
Пример #1 MongoDB\BSON\ObjectId::__toString() example
<?php
var_dump((string) new MongoDB\BSON\ObjectId());
var_dump((string) new MongoDB\BSON\ObjectId('000000000000000000000001'));
?>Горниот пример ќе прикаже нешто слично на:
string(24) "56731b49da14d8747d701211" string(24) "000000000000000000000001"
Види Исто така
Белешки од корисници 1 белешка
Jared C. ¶
пред 9 години