$collStats Devuelve estadísticas para una colección dada. $collstats debe ser la primera etapa del proceso de agregación. Para más información, consulte $collStats. En$collStats la federación de datos, solo se puede usar para recuperar información sobre las particiones de una colección o vista determinada.
Sintaxis
En Atlas Data Federation, $collStats acepta un documento vacío. Solo admite el campo opcional count y devuelve un error si se especifica una opción no compatible.
db.<collection-name>|<view-name>.aggregate([{ "$collStats" : { "count" : {} } }])
Campos
Campo | tipo | Descripción | Necesidad |
|---|---|---|---|
| Documento | Agrega el número total de documentos en las particiones al documento de retorno. | Opcional |
Salida
$collStats devuelve los siguientes campos en el documento para cada partición:
Campo | Tipo | Descripción | |
|---|---|---|---|
| Número | El número total de documentos en la partición. Esto sólo se retorna si especificas la opción | |
| string | El espacio de nombres de la colección o vista actual en el formato | |
| Documento | Los detalles sobre la partición, como la fuente, el formato, el tamaño y atributos de partición, si los hay. | |
| string | El formato del archivo. El valor puede ser cualquiera de los formatos de datos admitidos para datos en un almacén en la nube o | |
| Documento | ||
| Int | El tamaño de la partición. | |
| string | El origen de la partición. El valor puede ser uno de los siguientes:
| |
| string | Versión de MongoDB del clúster Atlas. La etapa Por ejemplo, |
Ejemplos
El siguiente ejemplo muestra la sintaxis $collStats para recuperar las particiones de una s3Db.abc colección con 3 archivos en una instancia de base de datos federada de almacenamiento en la nube:
use s3Db db.abc.aggregate([ {$collStats: {}} ])
El comando anterior devuelve el siguiente resultado:
{ "ns" : "s3Db.abc", "partition" : { "format" : "JSON", "attributes" : { "year" : NumberLong(2018) }, "size" : 139, "source" : "s3://my-bucket/s3Db/abc/2018/1.json?delimiter=%2F®ion=us-east-1" } } { "ns" : "s3Db.abc", "partition" : { "format" : "JSON", "attributes" : { "year" : NumberLong(2017) }, "size" : 124, "source" : "s3://my-bucket/s3Db/abc/2017/1.json?delimiter=%2F®ion=us-east-1" } } { "ns" : "s3Db.abc", "partition" : { "format" : "JSON", "attributes" : { "year" : NumberLong(2017) }, "size" : 130, "source" : "s3://my-bucket/s3Db/abc/2017/2.json?delimiter=%2F®ion=us-east-1" } }
El siguiente ejemplo muestra la sintaxis de $collStats para recuperar las particiones de la colección atlasDb.sampleColl en el clúster Atlas denominado mySandboxCluster:
use atlasDb db.sampleColl.aggregate([ {$collStats: {}} ])
El comando anterior devuelve el siguiente resultado:
{ "ns" : "atlasDb.sampleColl", "partition" : { "format" : "MONGO", "attributes" : { }, "size" : 94362191, "source" : "mySandboxCluster" } }
El siguiente ejemplo muestra la sintaxis $collStats para recuperar el número total de documentos en las particiones.
use s3Db db.abc.aggregate([ {$collStats: {"count" : {} }} ])
El comando anterior devuelve el siguiente resultado:
{ "ns" : "atlasDb.sampleColl", "partition" : { "format" : "MONGO", "attributes" : { }, "size" : 94362191, "source" : "mySandboxCluster" }, "count" : 23530}
Errors
Se devuelve un error similar al siguiente si el argumento collStats document contiene alguna de las opciones permitidas por el servidor MongoDB pero no por Atlas Data Federation.
{ "ok" : 0, "errmsg" : "$collStats param 'latencyStats' is not valid for Data Federation, correlationID = 1622929884a47d16f4888a1c", "code" : 9, "codeName" : "FailedToParse" }