4 votes

Créer une base de données MongoDB avec PHP

Le seul moyen que j'ai trouvé pour le faire est :

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

Faire juste $mongo->selectDB('new_db') en fait, ça ne marche pas. Vous avez une idée ?

10voto

Justin Jenkins Points 10501

Vous devez exécuter au moins une commande sur la base de données avant qu'elle ne soit créée...

Cette commande peut être exécutée avant de ajouter toutes les Collections ... pour que vous puissiez simplement liste (l'inexistant) Collections.

<?php

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

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

?>

Votre nouvelle base de données devrait maintenant exister, sans qu'aucune collection d'utilisateurs ne soit encore créée.

2voto

Joshua Burns Points 2800

Techniquement, il n'est pas nécessaire de créer manuellement des bases de données ou des collections dans MongoDB en raison de sa méthode "paresseuse" sans schéma de création de bases de données et de collections.

Je comprends que si vous venez d'un monde SQL, cela n'a pas beaucoup de sens. Vous pouvez toutefois vous demander : "Si le système crée automatiquement une collection ou une base de données pour moi à la volée, est-il vraiment nécessaire de la définir à l'avance ?".

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X