MongoDB::createCollectionCrea una colección
&reftitle.description;
publicMongoCollectionMongoDB::createCollectionstringnamearrayoptions
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:
command(array(
"create" => $name,
"capped" => $options["capped"],
"size" => $options["size"],
"max" => $options["max"],
"autoIndexId" => $options["autoIndexId"],
));
?>
]]>
Consulte MongoDB::command para más información sobre comandos de base de datos.
&reftitle.parameters;
name
Nombre de la colección.
options
Un array que contiene opciones para las colecciones. Cada opción es su propio
elemento en el array de opciones, con el nombre de la opción enumerada abajo, siendo
la clave del elemento. Las opciones admitidas dependen de la versión del servidor
de MongoDB y del motor de almacenamiento, ya que el controlador pasa cualquier opción
que se le proporcione directamente al servidor. Unas pocas de las opciones soportadas son las
siguientes, aunque se puede encontrar una lista completa en la documentación principal de MongoDB en createCollection:
capped
Si la colección debería tener un 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.
autoIndexId
Si 'capped' es &true;, se puede especificar &false; para deshabilitar el
índice atómico creado en el campo _id.
Antes de MongoDB 2.2, el valor predeterminado para
autoIndexId era &false;.
&reftitle.returnvalues;
Devuelve un objeto de colección que representa la nueva colección.
&reftitle.examples;
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.
createCollection(
"logger",
array(
'capped' => true,
'size' => 10*1024,
'max' => 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";
}
?>
]]>
&example.outputs.similar;
mensaje de error #90
mensaje de error #91
mensaje de error #92
mensaje de error #93
mensaje de error #94
mensaje de error #95
mensaje de error #96
mensaje de error #97
mensaje de error #98
mensaje de error #99
&reftitle.changelog;
&Version;&Description;1.4.0
En versiones anteriores a la 1.4.0, las opciones eran todas argumentos del método. La
sinopsis de la función en esas versiones antiguas es:
publicMongoCollectionMongoDB::createCollectionstringnameboolcapped&false;intsize0intmax0
El significado de las opciones es el mismo que el descrito bajo el
argumento options de arriba.