Создать базу данных MongoDB с помощью PHP

4

Единственный способ, которым я нашел это:

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

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

Теги:
database
nosql

2 ответа

10
Лучший ответ

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

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

<?php

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

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

?>

Теперь ваша новая база данных будет существовать, пока не создаются созданные пользователем коллекции.

  • 0
    Монго (); устарела сейчас.
2

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

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

  • 1
    Ну, на самом деле я создаю свой интерфейс администратора, поэтому мне нужна эта функция.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню