execute($code, $params); if (!$query["ok"]) { exit("Execute failed:" . $query["errmsg"] . "
\n
" . $code . "
"); } return $query["retval"]; } /** * List collections in a DB * * @param MongoDB $db DB * @return array */ static function listCollections(MongoDB $db) { $server = MServer::currentServer(); $names = array(); $query = $db->execute("function (){ return db.getCollectionNames(); }", array()); if ($query["ok"]) { $names= $query["retval"]; } else{ $colls = $db->listCollections(true); foreach($colls as $coll){ $names[] = $coll->getName(); } } $ret = array(); foreach ($names as $name) { if ($server->shouldHideCollection($name)) { continue; } if (preg_match("/^system\\./", $name)) { continue; } $ret[] = $name; } sort($ret); //system collections if (!$server->uiHideSystemCollections()) { foreach ($names as $name) { if ($server->shouldHideCollection($name)) { continue; } if (preg_match("/^system\\./", $name)) { $ret[] = $name; } } } $collections = array(); foreach ($ret as $v) { if ($v === "") {//older MongoDB version (maybe before 1.7) allow empty collection name continue; } $collections[] = $db->selectCollection($v); } return $collections; } } ?>