MongoDB 的 PHP 库允许我连接到这样的集合(来自示例):
$m = new Mongo();
$db = $m->comedy;
$collection = $db->cartoons;
但是如何将数据库和/或集合名称指定为变量?我想做的是这样的:
$m = new Mongo();
$dbname = "comedy";
$collectionname = "cartoons";
$db = $m[$dbname];
$collection = $db[$collectionname];
我可以使用 Python API来做到这一点,所以我发现我无法使用 PHP 来做到这一点很奇怪。
更新:这是我在使用上述方法时遇到的错误,这让我相信没有使用变量名来处理 MongoDB 集合的内置方法?
Fatal error: Cannot use object of type Mongo as array
答案:根据下面接受的答案,这将起作用:
$db = $m->$dbname;
$collection = $db->$collectionname;