Make the MongoDB docs better! We value your opinion. Share your feedback for a chance to win $100.
MongoDB Branding Shape
Click here >
Docs Menu

drop (Comando de Data Federation)

El comando drop remueve la colección o vista especificada de la configuración de almacenamiento de la instancia federada de base de datos. Utiliza el comodín "*" para remover todas las colecciones generadas por la función de colección comodín (es decir, collectionName()), incluida la propia regla de colección comodín. No puede remover individualmente las colecciones generadas por la función de colecciones de comodín.

db.runCommand({ "drop" : "<collection-name|*>" })
db.runCommand({ "drop" : "<view-name>" })
Parameter
Tipo
Descripción
¿Requerido?

<collection-name>

string

El nombre de la colección a descartar o el comodín "*" . Puede especificar el comodín "*" para descartar:

  • Todas las colecciones generadas por la función de colección comodín collectionName()

  • La regla de colección comodín

Parameter
Tipo
Descripción
¿Requerido?

<view-name>

string

El nombre de la vista que se va a descartar.

El comando imprime el siguiente resultado si tiene éxito. Puedes verificar los resultados ejecutando el comando show collections. Si el comando falla, consulte Solución de problemas de errores para obtener soluciones recomendadas.

{ "ok" : 1, "ns" : "<database>.<collection>", "nIndexesWas" : 0 }

donde:

  • ns refleja el namespace de la colección, que incluye el nombre de la base de datos, el separador de punto (.) y el nombre de la colección. Por ejemplo: <database>.<collection>.

  • nIndexesWas refleja el número de índices, cuyo valor es siempre 0 en Data Federation.

El comando imprime el siguiente resultado si tiene éxito. Puedes verificar los resultados ejecutando el comando storageGetConfig. Si el comando falla, consulte Solución de problemas de errores para obtener soluciones recomendadas.

{ "ok" : 1, "ns" : "<database>.<view>", "nIndexesWas" : 0 }

donde:

  • ns refleja el espacio de nombres de la vista, que incluye el nombre de la base de datos, el separador de punto (.) y el nombre de la vista. Por ejemplo: <database>.<view>.

  • nIndexesWas refleja el número de índices, cuyo valor es siempre 0 en Data Federation.

Los siguientes ejemplos utilizan el comando drop para remover las colecciones de muestra que se asignaron al conjunto de datos de muestra, airbnb y weather, en la tienda AWS S3.

El siguiente ejemplo utiliza el comando drop para remover una colección de muestras llamada airbnb en una base de datos llamada sample en la configuración de almacenamiento.

use sample
db.runCommand({ "drop" : "airbnb"})

El comando anterior imprime la siguiente salida:

{ "ok" : 1, "ns" : "sample.airbnb", "nIndexesWas" : 0 }

El siguiente ejemplo utiliza el comando drop para remover la función de colección comodín (collectionName()) y todas las colecciones creadas por la función de colección comodín en una base de datos llamada sample en la configuración de almacenamiento.

use sample
db.runCommand ({ "drop" : "*" })

El comando anterior imprime la siguiente salida:

{ "ok" : 1, "ns" : "sample.*", "nIndexesWas" : 0 }

El siguiente comando remueve una vista llamada "listings" en la colección airbnb de la base de datos sample:

use sample
db.runCommand({ "drop" : "listings" })

El comando anterior devuelve el siguiente resultado:

Ejemplo

{ "ok" : 1, "ns" : "sample.listings", "nIndexesWas" : 0 }

Si el comando falla, devuelve uno de los siguientes errores.

Motivo: El namespace (base de datos, colección o vista) no existe.

{
ok: 0,
errmsg: "ns not found",
code: 26,
codeName: "NamespaceNotFound"
}

Solución: Asegúrese de que el namespace especificado en el comando sea válido y exista en la configuración de almacenamiento. Si es necesario, utiliza el comando getStorageConfig para recuperar la lista de bases de datos, colecciones y vistas válidas en la configuración de almacenamiento.

Razón: intento de remover una colección creada por la función de colección comodín (collectionName()).

{
ok: 0,
errmsg: "cannot drop a collection created from a wildcard",
code: 26,
codeName: "NamespaceNotFound"
}

Solución: Asegúrese de que la colección que va a eliminar no sea una colección individual generada dinámicamente por la función de colección comodín (collectionName()). Data Federation no admite eliminar colecciones individuales generadas por la función de colección comodín.