1
0
mirror of https://github.com/php/doc-es.git synced 2026-03-27 17:02:16 +01:00
Files
archived-doc-es/reference/mongo/mongocollection/deleteindex.xml
Pedro Antonio Gil Rodríguez 20dba8cbe6 Actualización a la última versión
git-svn-id: https://svn.php.net/repository/phpdoc/es/trunk@333808 c90b9560-bf6c-de11-be94-00142212c4b1
2014-06-17 10:49:07 +00:00

173 lines
5.2 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 4148bc245c90cbd97a98274d3120b5944e0ff220 Maintainer: seros Status: ready -->
<!-- Reviewed: no Maintainer: andresdzphp -->
<refentry xml:id="mongocollection.deleteindex" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<refnamediv>
<refname>MongoCollection::deleteIndex</refname>
<refpurpose>Elimina un índice de esta colección</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<modifier>public</modifier> <type>array</type><methodname>MongoCollection::deleteIndex</methodname>
<methodparam><type>string|array</type><parameter>keys</parameter></methodparam>
</methodsynopsis>
<para>
Este método es identico a:
</para>
<programlisting role="php">
<![CDATA[
<?php
public function deleteIndexes($keys) {
$indexName = $this->toIndexString($keys);
return $this->db->command(array(
"deleteIndexes" => $this->getName(),
"index" => $indexName,
));
}
?>
]]>
</programlisting>
<para>
A cada índice se de da un nombre único cuando es creado. A menudo, es generado
por el controlador basándose en la/s clave/s del índice y en el orden/tipo, aunque también
se podrían especificar nombres personalizados con la opción <literal>"name"</literal> de
<function>MongoCollection::createIndex</function>).
</para>
<para>
Desafortunadamente, <function>MongoCollection::deleteIndex</function> no puede
eliminar índices con nombres personalizados por razones de retrocompatibilidada. Cuando
se proporciona un argumento de tipo string, se asume que sea el nombre de campo único de
un índice ascendente (p.ej., el nombre <literal>"x_1"</literal> sería utilizado para el
argumento <literal>"x"</literal>). Si se proporciona un array u objeto, se generará
un nombre de índice tal como si dicho argumento fuera pasado a
<function>MongoCollection::createIndex</function>.
</para>
<para>
Para poder borrar un índice con nombre personalizado con el controlador de PHP, se
debe usar el comando de base de datos <literal>deleteIndexes</literal>. Por ejemplo,
un índice llamado "myIndex" podría borrarse con el controlador de PHP ejecutando:
</para>
<programlisting role="php">
<![CDATA[
<?php
$db->command(array(
"deleteIndexes" => $collection->getName(),
"index" => "myIndex",
));
?>
]]>
</programlisting>
<para>
Para determinar el nombre de un índice con el controlador de PHP, se puede consultar la
colección <literal>system.indexes</literal> de una base de datos y buscar por el campo
<literal>"name"</literal> cada resultado. El campo <literal>"ns"</literal>
indicará la colección a la que pertenece cada índice.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term>
<parameter>keys</parameter>
</term>
<listitem>
<para>
Un array que tiene como claves los campos de índice. Para cada campo, el
valor es la dirección del índice o el
<link xlink:href="&url.mongodb.dochub.indexes.types;">tipo de índice</link>.
Si se especifica la dirección, se ha de indicar <literal>1</literal> para ascendente o
<literal>-1</literal> para descendente.
</para>
<para>
Si se proporciona un string, se asume que sea el nombre único de campo de un
índece ascendente.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Devuelve la respuesta de la base de datos.
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<example>
<title>Ejemplo de <function>MongoCollection::deleteIndex</function></title>
<para>
Este ejemplo ilustra cómo pasar tanto un stringo como un array a la función.
</para>
<programlisting role="php">
<![CDATA[
<?php
$m = new MongoClient();
$c = $m->example->indices;
// crear y eliminar un único índice
$c->createIndex(array("i"=>1));
$c->deleteIndex("i");
// crear y eliminar un índice multiclave
$c->ensureIndex(array("j" => 1, "k" => 1));
$c->deleteIndex(array("j" => 1, "k" => 1));
?>
]]>
</programlisting>
</example>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<simplelist>
<member><methodname>MongoCollection::createIndex</methodname></member>
<member><methodname>MongoCollection::deleteIndexes</methodname></member>
<member><methodname>MongoCollection::toIndexString</methodname></member>
<member>
La documentación sobre
<link xlink:href="&url.mongodb.dochub.indexes;">índices</link> y
<link xlink:href="&url.mongodb.dochub.indexes.types;">tipos de índcies</link>
de MongoDB.
</member>
</simplelist>
</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
-->