1

私は最近、cloudcontrol を発見し、いくつかの画像を保存するための小さな mongoDB アプリを作成したいと考えました。無料のアドオン mongolab.free を有効にし、ドキュメントに従って接続をセットアップしました。

$credfile = file_get_contents($_ENV['CRED_FILE'], false);
$credentials = json_decode($credfile, true);
$uri = $credentials["MONGOLAB"]["MONGOLAB_URI"];
$m = new Mongo($uri);
$db = $m->selectDB('test');

問題は、「ログインする必要がある」ため、次の行が機能しないことです

$db = $m->selectDB('test');

listDBs() を介して利用可能なすべての DB を一覧表示しようとすると、同じエラー「ログインが必要です」が表示されます。

ターミナル経由で接続した場合でも、接続は確立されますが、同じ「ログインが必要です」という警告が表示されます。

3 日からこの問題を解決しようとしてきましたが、解決策が見つかりません :(

誰かが私を助けてくれることを願っています

4

1 に答える 1

1

データベースの名前も定義されMONGOLAB_URIています (形式はcloudcontrol_<deployment_id>です)。したがって、別のデータベース名を明示的に定義する必要はありません (できません)。

次のようにして、uri からデータベース名を抽出できます。

preg_match("#/([^/\?]+)(\?|$)#", $uri, $match);
database = $match[1];
于 2013-06-10T10:31:16.403 に答える