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.
Sintaxis
db.runCommand({ "drop" : "<collection-name|*>" })
db.runCommand({ "drop" : "<view-name>" })
Parámetros
Parameter | Tipo | Descripción | ¿Requerido? |
|---|---|---|---|
| string | El nombre de la colección a descartar o el comodín
| Sí |
Parameter | Tipo | Descripción | ¿Requerido? |
|---|---|---|---|
| string | El nombre de la vista que se va a descartar. | Sí |
Salida
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:
nsrefleja 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>.nIndexesWasrefleja el número de índices, cuyo valor es siempre0en 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:
nsrefleja 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>.nIndexesWasrefleja el número de índices, cuyo valor es siempre0en Data Federation.
Ejemplos
Ejemplos de descartar colecciones
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.
Ejemplo básico
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 }
Ejemplo wildcard
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 }
Ejemplo para descartar vistas
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 }
Solución de problemas de error
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.