MongoDB的PHP庫允許我連接到這樣一個集合(from example):指定蒙戈DB和集合名稱作爲PHP變量
$m = new Mongo();
$db = $m->comedy;
$collection = $db->cartoons;
但我怎麼指定數據庫和/或集合名稱一個變量?我想要做的是這樣的:
$m = new Mongo();
$dbname = "comedy";
$collectionname = "cartoons";
$db = $m[$dbname];
$collection = $db[$collectionname];
我能做到這一點using the Python API,所以我覺得奇怪的是我不能用PHP來做到這一點。
更新:這是我使用上述方法時得到的錯誤,這導致我相信沒有內置的方法來使用變量名來處理MongoDB集合?
Fatal error: Cannot use object of type Mongo as array
答:按照下面的接受的答案,這將工作:
$db = $m->$dbname;
$collection = $db->$collectionname;
謝謝,剛編輯它。但是這並沒有解決它 - 這是我得到的錯誤:「致命錯誤:不能使用Mongo類型的對象作爲數組」 – Suman
您仍然可以通過使用 - > ie $ m - > $ dbname通過http: //www.php.net/manual/en/mongo.tutorial.php – dweiss
啊,那確實有用!謝謝,你能編輯/更新你的答案嗎?標記爲正確? – Suman