Definición
db.collection.getShardLocation()Nuevo en la versión 8.1.
Devuelve un documento que contiene los fragmentos donde se encuentra la colección y si la colección está fragmentada.
Importante
Método mongosh
Esta página documenta a Método
mongosh. Esta no es la documentación sobre comandos de base de datos ni sobre controladores específicos de un lenguaje.El método
getShardLocation()es un contenedor para el$listClusterCatalogetapa de agregación.
Salida
El método getShardLocation() devuelve un documento con los siguientes campos:
Campo | Tipo | Descripción |
|---|---|---|
| Arreglo | Particiones donde residen los datos de la colección. |
| Booleano | Indica si la colección está particionada. |
Si ejecutas el método en una implementación no fragmentada:
El arreglo
shardsestá vacío.El campo
shardedestáfalse.
Compatibilidad
Este método está disponible en implementaciones alojadas en los siguientes entornos:
MongoDB Atlas: El servicio totalmente gestionado para implementaciones de MongoDB en la nube
Importante
Este comando no es compatible con los clústeres M0 y Flex. Para obtener más información, consulta Comandos no compatibles.
MongoDB Enterprise: La versión basada en suscripción y autogestionada de MongoDB
MongoDB Community: La versión de MongoDB con código fuente disponible, de uso gratuito y autogestionada.
Sintaxis
db.<collection>.getShardLocation()
Ejemplos
Colección particionada
El siguiente ejemplo muestra los fragmentos que contienen los datos en la colección sample_mflix.movies:
use sample_mflix db.movies.getShardLocation()
{ shards: [ 'shard01', 'shard02' ], sharded: true }
Colección no particionada en un clúster particionado
Si ejecutas el comando en un clúster fragmentado pero la colección no está fragmentada, el campo sharded es false y el arreglo shards solo contiene el fragmento config:
use sample_mflix db.movies.getShardLocation()
{ shards: [ 'config' ], sharded: false }
Implementación sin particiones
Si ejecuta el comando en una implementación no particionada, el campo sharded es false y el arreglo shards está vacío:
use sample_mflix db.movies.getShardLocation()
{ shards: [], sharded: false }