(PECL mongo >=0.9.0)
MongoDB::createCollection — Crée une collection
$name
[, bool $capped
= FALSE
[, int $size
= 0
[, int $max
= 0
]]] )Cette méthode est utilisée pour créer des collections limitées ainsi que des collections nécessitant des options spéciales. Cette méthode revient à exécuter :
<?php
$collection = $db->command(array("create" => $name, "size" => $size, "capped" => $capped, "max" => $max));
?>
name
Le nom de la collection.
capped
Si la collection est de taille fixe ou pas.
size
Si la collection est de taille fixe, sa taille, en octets.
max
Si la collection est de taille fixe, le nombre maximal d'éléments à stocker dans la collection.
Retourne un objet MongoCollection, qui représente la nouvelle collection.
Exemple #1 Exemple avec MongoDB::createCollection()
Une collection plafonnée est un type spécial de collection qui a soit des éléments fixes, soit un nombre d'éléments fixes. Une fois que la collection est pleine, les éléments les plus anciens seront effacés lors de l'ajout de nouveaux éléments. Les collections plafonnées sont vraiment utiles pour les applications qui historisent et que vous souhaitez réserver une certaine quantitié d'espaces à l'historisation sans vous soucier de leurs évolutions.
Cet exemple crée une petite collection qui conserve un maximum de 10 documents.
<?php
$log = $db->createCollection("logger", true, 10*1024, 10);
for ($i = 0; $i < 100; $i++) {
$log->insert(array("level" => WARN, "msg" => "Message simple #$i", "ts" => new MongoDate()));
}
$msgs = $log->find();
foreach ($msgs as $msg) {
echo $msg['msg']."\n";
}
?>
L'exemple ci-dessus va afficher quelque chose de similaire à :