在 Mongo PHP 库中获取对象



我用这个MongoDB库进行PHP

如果我使用此代码:

$db->users->find();

我得到一个关联数组。

是否可以作为find()方法的结果获取对象?

例如,在PDO中,我可以这样做:

$stmt->fetch(PDO::FETCH_OBJ);

谢谢。

如果你要找的只是一个 stdclass 对象(如 PDO::FETCH_OBJ ),你可以强制转换当前元素:

$obj = (object) $db->users->find()->getNext();

在 PHP 手册中了解有关强制转换的更多信息:

  • 类型杂耍(PHP 手册)

调用

$db->users->find();

返回一个 \MongoCursor 对象,它是一个迭代器,您可以在 foreach 循环中循环,就像使用数组一样。但是,您从中获得的每个结果都是一个关联数组。

http://php.net/mongocollection.find

因此,要获取对象,您可以在使用之前将每个项目强制转换为对象:

$list = $db->users->find();
foreach($list as $user) {
    $user = (object)$user; // object cast here
    echo $user->name; // use it as an object
}

最新更新