Para agentes de IA: hay un índice de documentación disponible en https://www.mongodb.com/es/docs/llms.txt — versiones en markdown de todas las páginas están disponibles agregando .md a cualquier ruta URL.
See how MongoDB 9.0 delivers up to 2x higher throughput.
MongoDB Branding Shape
Register now >
Docs Menu

$count (función de ventana)

$count

Devuelve el número de documentos en una ventana determinada.

Nota

Desambiguación

Esta página describe $count cuando se utiliza como función de ventana.

También puedes usar $count en estos otros contextos:

{
$setWindowFields: {
...
output: {
<field>: {
$count: {},
window: {
documents: [ <lower boundary>, <upper boundary> ]
}
}
}
}
}

$count no admite ningún parámetro.

Tip

$count es funcionalmente equivalente a usar { $sum: 1 } en la etapa $setWindowFields.

Los ejemplos de esta página utilizan datos del conjunto de datos sample_mflix. Para obtener más información sobre cómo cargar este conjunto de datos en su implementación autogestionada de MongoDB, consulte Cargar el conjunto de datos de ejemplo. Si realizó alguna modificación en las bases de datos de ejemplo, es posible que deba eliminarlas y volver a crearlas para ejecutar los ejemplos de esta página.

Este ejemplo utiliza la función de ventana $count con una ventana basada en rangos para contar cuántas películas de acción de 2000 tienen una calificación de IMDb dentro de 0.5 puntos de la calificación de cada película.

db.movies.aggregate( [
{
$match: {
genres: "Action",
year: 2000,
"imdb.rating": { $ne: null }
}
},
{
$setWindowFields: {
sortBy: { "imdb.rating": 1 },
output: {
moviesWithSimilarRating: {
$count: {},
window: {
range: [ -0.5, 0.5 ]
}
}
}
}
},
{
$project: {
_id: 0,
title: 1,
"imdb.rating": 1,
moviesWithSimilarRating: 1
}
},
{ $sort: { "imdb.rating": -1 } },
{ $limit: 10 }
] )

En el ejemplo precedente:

  • $match Filtros para películas de acción estrenadas en 2000 que tengan un valor imdb.rating.

  • sortBy: { "imdb.rating": 1 } Ordena los documentos por calificación de IMDb en orden ascendente. Se requiere un sortBy cuando se utiliza una ventana basada en rangos.

  • output utiliza $count para establecer el campo moviesWithSimilarRating al número de películas cuya calificación de IMDb se encuentra dentro de la ventana actual.

    La ventana utiliza range: [ -0.5, 0.5 ], que incluye todos los documentos cuyo imdb.rating está dentro de 0.5 puntos de la calificación del documento actual.

  • $project incluye los campos title, imdb.rating y moviesWithSimilarRating en el resultado.

  • $sort y $limit devuelve las 10 películas mejor valoradas para facilitar la lectura.

El resultado muestra que Gladiator (8.5), con una calificación relativamente única, tiene un recuento de moviesWithSimilarRating menor que las películas con calificaciones más comunes como 7.4.

Califique esta página