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

$collStats Etapa (Atlas Data Federation)

$collStats Devuelve estadísticas para una colección determinada. $collstats debe ser la primera etapa en la canalización de agregación. Para obtener más información, consulte $collStats. En Data Federation, $collStats solo se puede usar para recuperar información sobre las particiones de una colección o vista determinada.

En Atlas Data Federation, $collStats acepta un documento vacío. Sólo admite el campo opcional count y devuelve un error si se especifica una opción no admitida.

db.<collection-name>|<view-name>.aggregate([{ "$collStats" : { "count" : {} } }])
Campo
tipo
Descripción
Necesidad

count

Documento

Agrega el número total de documentos en las particiones al documento de retorno.

Opcional

$collStats devuelve los siguientes campos en el documento de cada partición:

Campo
Tipo
Descripción

count

Número

El número total de documentos en la partición. Esto sólo se retorna si especificas la opción count.

ns

string

El namespace de la colección o vista actual en el formato [database].[collection|view].

partition

Documento

Los detalles sobre la partición, como el origen, el formato, el tamaño y cualquier atributo de partición, si lo hubiera.

partition.format

string

El formato del archivo. El valor puede ser cualquiera de los Formatos de datos compatibles para los datos en un almacenar en la nube o MONGO para los datos en el clúster Atlas.

partition.attributes

Documento

Los atributos de la partición para esta partición se definen en el path para particiones de almacenamiento en la nube. Un documento en blanco indica que no hay atributos de partición en la fuente de datos de la partición.

partition.size

Int

El tamaño de la partición.

partition.source

string

La fuente para la partición. El valor puede ser uno de los siguientes:

  • La ruta al archivo en el almacenamiento en la nube.

  • El nombre del clúster para las particiones en Atlas.

partition.version

string

La versión de MongoDB del clúster de Atlas. La etapa $collStats devuelve este campo solo para almacenes de datos de clúster de Atlas. El valor tiene el siguiente formato:

<major-version-number>.<minor-version-number>.<patch-version-number>

Por ejemplo, 7.0.1.

El siguiente ejemplo muestra la sintaxis de $collStats para recuperar las particiones de una colección s3Db.abc con 3 archivos en un almacén de instancias federadas de base de datos de almacenamiento en la nube:

use s3Db
db.abc.aggregate([ {$collStats: {}} ])

El comando anterior devuelve la siguiente salida:

{ "ns" : "s3Db.abc", "partition" : { "format" : "JSON", "attributes" : { "year" : NumberLong(2018) }, "size" : 139, "source" : "s3://my-bucket/s3Db/abc/2018/1.json?delimiter=%2F&region=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&region=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&region=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 la siguiente salida:

{ "ns" : "atlasDb.sampleColl", "partition" : { "format" : "MONGO", "attributes" : { }, "size" : 94362191, "source" : "mySandboxCluster" } }

El siguiente ejemplo muestra la sintaxis de $collStats para recuperar el número total de documentos en las particiones.

use s3Db
db.abc.aggregate([ {$collStats: {"count" : {} }} ])

El comando anterior devuelve la siguiente salida:

{ "ns" : "atlasDb.sampleColl", "partition" : { "format" : "MONGO", "attributes" : { }, "size" : 94362191, "source" : "mySandboxCluster" }, "count" : 23530}

Se devuelve un error similar al siguiente si el documento de argumento collStats 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"
}