Создать базу данных MongoDB с помощью PHP - PullRequest
4 голосов
/ 22 декабря 2010

Я нашел только один способ сделать это:

$mongo->selectDB('new_db')->createCollection('tmp_collection');
$mongo->selectDB('new_db')->dropCollection('tmp_collection');

Выполнение только $mongo->selectDB('new_db') на самом деле не работает.Есть идеи?

Ответы [ 2 ]

10 голосов
/ 23 декабря 2010

Вам нужно будет выполнить хотя бы одну команду в базе данных, прежде чем она будет создана ...

Эта команда может быть выполнена перед тем, как добавить любойКоллекции ... так что вы можете просто список (несуществующих) коллекций.

<?php

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

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

?>

Ваша новая база данных должна существовать без создания пользовательских коллекций.

2 голосов
/ 23 декабря 2010

Технически, вам не нужно вручную создавать базы данных или коллекции в MongoDB из-за его безсхемного «ленивого» способа создания баз данных и коллекций.

Я понимаю, если вы пришли из мира SQLне имеет особого смысла.Возможно, вы захотите спросить себя: «Если он автоматически создает коллекцию или базу данных для меня на лету, есть ли необходимость определять ее заранее?»

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...