1
0
mirror of https://github.com/php/doc-es.git synced 2026-03-28 17:32:16 +01:00
Files
archived-doc-es/reference/mongo/mongodb/createcollection.xml
Pedro Antonio Gil Rodríguez 0511fb5c40 Actualización a la última versión
git-svn-id: https://svn.php.net/repository/phpdoc/es/trunk@336504 c90b9560-bf6c-de11-be94-00142212c4b1
2015-04-12 16:32:06 +00:00

248 lines
7.3 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 60e8e031cf558d676af2d938552bdf4fa7bb59e2 Maintainer: seros Status: ready -->
<!-- Reviewed: no -->
<refentry xml:id="mongodb.createcollection" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<refnamediv>
<refname>MongoDB::createCollection</refname>
<refpurpose>Crea una colección</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<modifier>public</modifier> <type>MongoCollection</type><methodname>MongoDB::createCollection</methodname>
<methodparam><type>string</type><parameter>name</parameter></methodparam>
<methodparam choice="opt"><type>array</type><parameter>options</parameter></methodparam>
</methodsynopsis>
<para>
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:
<programlisting role="php">
<![CDATA[
<?php
$collection = $db->command(array(
"create" => $name,
"capped" => $options["capped"],
"size" => $options["size"],
"max" => $options["max"],
"autoIndexId" => $options["autoIndexId"],
));
?>
]]>
</programlisting>
Consulte <function>MongoDB::command</function> para más información sobre comandos de base de datos.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term>
<parameter>name</parameter>
</term>
<listitem>
<para>
Nombre de la colección.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<parameter>options</parameter>
</term>
<listitem>
<para>
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 <link
xlink:href="&url.mongodb.docs;method/db.createCollection/">createCollection</link>:
</para>
<para>
<variablelist>
<varlistentry>
<term>
<parameter>capped</parameter>
</term>
<listitem>
<para>
Si la colección debería tener un tamaño fijo.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<parameter>size</parameter>
</term>
<listitem>
<para>
Si la colección fuera de tamaño fijo, aquí indicamos su tamaño en bytes.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<parameter>max</parameter>
</term>
<listitem>
<para>
Si la colección fuera de tamaño fijo, aquí establecemos el número máximo de
elementos que podrá almacenar.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<parameter>autoIndexId</parameter>
</term>
<listitem>
<para>
Si 'capped' es &true;, se puede especificar &false; para deshabilitar el
índice atómico creado en el campo <literal>_id</literal>.
Antes de MongoDB 2.2, el valor predeterminado para
<literal>autoIndexId</literal> era &false;.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Devuelve un objeto de colección que representa la nueva colección.
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<example>
<title>Ejemplo de <function>MongoDB::createCollection</function> para colección de tamaño fijo</title>
<para>
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.
</para>
<para>
Este ejemplo crea una colección de mensajes de error muy pequeña, que mantendrá hasta
10 documentos.
</para>
<programlisting role="php">
<![CDATA[
<?php
$log = $db->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";
}
?>
]]>
</programlisting>
&example.outputs.similar;
<screen>
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
</screen>
</example>
</refsect1>
<refsect1 role="changelog">
&reftitle.changelog;
<para>
<informaltable>
<tgroup cols="2">
<thead>
<row>
<entry>&Version;</entry>
<entry>&Description;</entry>
</row>
</thead>
<tbody>
<row>
<entry>1.4.0</entry>
<entry>
<para>
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:
</para>
<para>
<methodsynopsis>
<modifier>public</modifier> <type>MongoCollection</type><methodname>MongoDB::createCollection</methodname>
<methodparam><type>string</type><parameter>name</parameter></methodparam>
<methodparam choice="opt"><type>bool</type><parameter>capped</parameter><initializer>&false;</initializer></methodparam>
<methodparam choice="opt"><type>int</type><parameter>size</parameter><initializer>0</initializer></methodparam>
<methodparam choice="opt"><type>int</type><parameter>max</parameter><initializer>0</initializer></methodparam>
</methodsynopsis>
</para>
<para>
El significado de las opciones es el mismo que el descrito bajo el
argumento <parameter>options</parameter> de arriba.
</para>
</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->