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