Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/283.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用PHP创建MongoDB数据库_Php_Mongodb_Database_Nosql - Fatal编程技术网

使用PHP创建MongoDB数据库

使用PHP创建MongoDB数据库,php,mongodb,database,nosql,Php,Mongodb,Database,Nosql,我找到的唯一方法是: $mongo->selectDB('new_db')->createCollection('tmp_collection'); $mongo->selectDB('new_db')->dropCollection('tmp_collection'); 仅仅做$mongo->selectDB('new_db')实际上是行不通的。 有什么想法吗?从技术上讲,您不需要在MongoDB中手动创建数据库或集合,因为它采用无模式的“惰性”方式创建数据库和集合

我找到的唯一方法是:

$mongo->selectDB('new_db')->createCollection('tmp_collection');
$mongo->selectDB('new_db')->dropCollection('tmp_collection');
仅仅做
$mongo->selectDB('new_db')
实际上是行不通的。
有什么想法吗?

从技术上讲,您不需要在MongoDB中手动创建数据库或集合,因为它采用无模式的“惰性”方式创建数据库和集合

<?php

$connection = new Mongo();
$db = $connection->foo;

$list = $db->listCollections();
foreach ($list as $collection) {
    echo "$collection </br>";       
}

?>

我理解如果你来自SQL世界,这没有多大意义。不过,您可能会问自己,“如果它在运行中自动为我创建了一个集合或数据库,是否真的需要提前定义它?”

在创建数据库之前,您需要在数据库上运行至少一个命令

可以在添加任何集合之前运行此命令。。。因此,您只能列出(不存在的)集合

<?php

$connection = new Mongo();
$db = $connection->foo;

$list = $db->listCollections();
foreach ($list as $collection) {
    echo "$collection </br>";       
}

?>


您的新数据库现在应该已经存在,尚未创建任何用户集合。

实际上,我正在创建管理UI,因此需要此功能。Mongo();现在不推荐使用。