(PECL mongo >=0.9.0)
MongoDB::createCollection — Crea una colección
$name
[, bool $capped
= FALSE
[, int $size
= 0
[, int $max
= 0
]]] )Este método se usa para crear colecciones "capped" (de tamaño fijo) y otras colecciones que requieren opciones especiales. Es idéntico a ejecutar:
<?php
$collection = $db->command(array("create" => $name, "size" => $size, "capped" => $capped, "max" => $max));
?>
name
Nombre de la colección.
capped
Si la colección debe ser o no de tamaño fijo.
size
Si la colección fuera de tamaño fijo, aquí indicamos su tamaño en bytes.
max
Si la colección fuera de tamaño fijo, aquí establecemos el número máximo de elementos que podrá almacenar.
Devuelve un objeto de colección que representa la nueva colección.
Ejemplo #1 Ejemplo de MongoDB::createCollection() para colección de tamaño fijo
Una colección "capped" es un tipo especial de colección que tiene un tamaño fijo o un número fijo de elementos. Una vez que la colección está "llena", los elementos más viejos se eliminan cada vez que añadimos nuevos. Estas colecciones pueden ser muy útiles para usos como registro de mensajes, donde quizás se desee mantener una determinada cantidad de espacio para mensajes sin preocuparse por si crece demasiado.
Este ejemplo crea una colección de mensajes de error muy pequeña, que mantendrá hasta 10 documentos.
<?php
$log = $db->createCollection("logger", true, 10*1024, 10);
for ($i = 0; $i < 100; $i++) {
$log->insert(array("level" => WARN, "msg" => "mensaje de error #$i", "ts" => new MongoDate()));
}
$msgs = $log->find();
foreach ($msgs as $msg) {
echo $msg['msg']."\n";
}
?>
El resultado del ejemplo sería algo similar a: