yii2中对mongodb的使用是继承的,如果想使用php的mongodb函数,那么:
$mongo = Yii::$app->mongodb;
$mongo->open();
$dsn = $mongo->dsn;
$dsnrev = strrev($dsn);
$databasename = strrev(substr($dsnrev,0,strpos($dsnrev,"/")));
$mongoClient = $mongo->mongoClient;
$collection = $mongoClient->$databasename->customer;
$cursor = $collection->find();
// 迭代显示文档标题
foreach ($cursor as $row) {
echo "name:".$row['name']."<br/>";
echo "_id:".$row['_id']."<br/>";
echo "status:".$row['status']."<br/>";
}
exit;
当然,可以在yii\mongodb\Connection.php中加入函数:
public function mClient(){
$mongo = Yii::$app->mongodb;
$mongo->open();
$dsn = $mongo->dsn;
$dsnrev = strrev($dsn);
$databasename = strrev(substr($dsnrev,0,strpos($dsnrev,"/")));
$mongoClient = $mongo->mongoClient;
$collection = $mongoClient->$databasename;
return $collection;
}
然后就可以这样调用了:
$mongoClient = Yii::$app->mongodb->mClient();
$collection = $mongoClient->customer;
$cursor = $collection->find();
// 迭代显示文档标题
foreach ($cursor as $row) {
echo "name:".$row['name']."<br/>";
echo "_id:".$row['_id']."<br/>";
echo "status:".$row['status']."<br/>";
}