さて、MongoDB Atlasにアカウントを設定してクラスタを作成しました。 これらの詳細の助けを借りて、mongoシェルを使用してサーバーに接続しました。 JSONファイルを正常にインポートしました。クラスタに接続した後(Mongoコンソールのみ)、コレクションからデータを取得してクエリを取得できます。未知のMongoDBドライバ - 致命的なエラーが不明です
問題は、私はデータを取得し、表示するために私のPHPファイル内の接続URLを使用する場合、私はそうすることができませんで、それは
Fatal error: Uncaught MongoDB\Driver\Exception\AuthenticationException: Authentication failed. in E:\XAMPP\htdocs\mongoDB\MongoAutoLoad\mongodb\mongodb\src\Operation\Find.php:280 Stack trace: #0 E:\XAMPP\htdocs\mongoDB\MongoAutoLoad\mongodb\mongodb\src\Operation\Find.php(280): MongoDB\Driver\Server->executeQuery('test.bf', Object(MongoDB\Driver\Query), Object(MongoDB\Driver\ReadPreference))
1 E:\XAMPP\htdocs\mongoDB\MongoAutoLoad\mongodb\mongodb\src\Collection.php(527): MongoDB\Operation\Find->execute(Object(MongoDB\Driver\Server)) #2 E:\XAMPP\htdocs\mongoDB\bFreidan\testCluster.php(8): MongoDB\Collection->find() #3 {main} thrown in E:\XAMPP\htdocs\mongoDB\bFreidan\MongoAutoLoad\mongodb\mongodb\src\Operation\Find.php on line 280
私に致命的なエラー - を与えているたびにFind.phpですコレクションデータを取得して表示するためのPHPライブラリコードです。何が問題なの?私は私の地元のMongoDBに
それを実行していた場合
、このコードは絶対に正常に動作していることに注意してくださいここに私のPHPコードです -
<?PHP
require 'MongoAutoLoad/autoload.php'; // include Composer's autoloader
$client = new MongoDB\Client(
'mongodb://<ClusterUsername>:<ClusterPassword>@cluster0-shard-00-00-91fmq.mongodb.net:27017,cluster0-shard-00-01-91fmq.mongodb.net:27017,cluster0-shard-00-02-91fmq.mongodb.net:27017/test?ssl=true&replicaSet=Cluster0-shard-0&authSource=admin
');
$collection = $client->test->bf;
$result = $collection->find([ 'name' => $name, 'brewery' => $brewery ]);
foreach ($result as $entry) {
echo $entry['_id'], ': ', $entry['name'], "<br>"; //Print with ID
}
?>
「Mongo shell」から 'MongoDB Atlas'に接続できますが、' Application'ではできません。 –
はい、今xamppでホストされているアプリケーションからです。 –