PHP Mongodb 中的动态数据库选择

无法database动态选择和集合。阅读所有解决方案,但对我不起作用。selectDB功能不工作。它仅适用于静态数据。


我想从配置文件中选择数据库并动态选择集合。


$username='abcd';

$password='efgh';

$m = new MongoDB\Client("mongodb://abcd@127.0.0.1:28015/ijkl", array("username" => $username, "password" => $password));


$db = $m->ijkl;

但我想拥有它


$username='abcd';

$password='efgh';

$m = new MongoDB\Client("mongodb://abcd@127.0.0.1:28015/ijkl", array("username" => $username, "password" => $password));


$l1="ijkl";

$db = $m->$l1;

期望使用动态数据库选择。


皈依舞
浏览 198回答 2
2回答

吃鸡游戏

终于开始工作了$m = new MongoDB\Client("mongodb://".$mongo_username."@".$mongo_ip.":".$mongo_port."/".$mongo_db, array("username" => $mongo_username, "password" => $mongo_password));&nbsp;if(!empty($db = $m->$mongo_db))&nbsp;{&nbsp; &nbsp; &nbsp;$collection = "test";&nbsp; &nbsp;if(!empty($collection = $db->$collection))&nbsp; &nbsp;{&nbsp; &nbsp; $cursor =$collection->find(array("status"=>0), ['limit' => 10,'skip'=>10]);&nbsp; &nbsp; &nbsp;foreach ($cursor as $document) {&nbsp; &nbsp; &nbsp; &nbsp; echo "<b>ID is:</b>";&nbsp; &nbsp; &nbsp; &nbsp; echo $id=$document["_id"];&nbsp; &nbsp; &nbsp; &nbsp; echo "<br>";&nbsp; &nbsp; &nbsp; &nbsp; echo "<b>Link is:</b>";&nbsp; &nbsp; &nbsp; &nbsp; echo $link=$document["Link"];&nbsp; &nbsp; &nbsp; &nbsp; echo "<br>";&nbsp; &nbsp; &nbsp; &nbsp; echo "<b>Status is:</b>";&nbsp; &nbsp; &nbsp; &nbsp; echo $status=$document["status"];&nbsp; &nbsp; &nbsp; &nbsp; echo "<br>";&nbsp; &nbsp; &nbsp; &nbsp; echo "<b>Label is:</b>";&nbsp; &nbsp; &nbsp; &nbsp; echo $label=$document["Label"];&nbsp; &nbsp; &nbsp; &nbsp; echo "<br>";&nbsp; &nbsp; }&nbsp; &nbsp;}&nbsp; &nbsp;else&nbsp; &nbsp;{&nbsp; &nbsp; &nbsp; &nbsp;echo "Not able to select the collection!";&nbsp; &nbsp;}&nbsp;}&nbsp;else&nbsp;{&nbsp; &nbsp; &nbsp;echo "Not able to select the database!";&nbsp;}

喵喔喔

使用来自 packagist 的 mongodb 客户端存储库。您可以通过composer安装它$ composer require mongodb/mongodb在您的根目录中,创建文件,例如 app.php<?phprequire 'vendor/autoload.php';$databases = [&nbsp;'db1'=> [&nbsp; &nbsp; 'db' => 'testdb1',&nbsp; &nbsp; 'username' => 'user',&nbsp; &nbsp; 'password' => 'pass',&nbsp; &nbsp; ...&nbsp;],&nbsp;&nbsp; 'db2'=> [...],&nbsp; ...];$seletected = 'db1';$database = $databases[$selected];$client = new MongoDB\Client(&nbsp; &nbsp; "mongodb+srv://{$database['username']}:{$database['password']}@<cluster-address>/test?retryWrites=true&w=majority");$db = $client->{$database['db']};
打开App,查看更多内容
随时随地看视频慕课网APP