Pipeline d'agrégation MongoDB: compter les documents avec un champ est inférieur à la valeur?

Richard John

J'ai un rapport existant utilisant le cadre d'agrégation de MongoDB, et j'aimerais y ajouter un nouveau champ - un décompte de tous les documents où l'un des champs numériques est inférieur à une valeur donnée.

Mes documents ont un champ de longueur, dont je calcule déjà la moyenne, donc en plus de cela, j'aimerais que le nombre de documents soit inférieur à un certain nombre.

Mon pipeline d'agrégation actuel est très simple:

db.streams.aggregate([ 
  { $match: { track_id: "ecb96af4537d4263b83f5675dbcc0388" }},
  { $group: { _id: "$source", listens: { $sum: 1 } }   }
])

J'ai essayé d'utiliser $sumand $lt, mais le nombre est toujours de 0. Je suppose que c'est parce $sumque cela ne compte que lorsque 1est retourné, mais $ltretourne true. Voici ce que j'ai essayé:

db.streams.aggregate([{
  $match: {
    track_id: "ecb96af4537d4263b83f5675dadd0388"
  }
}, {
  $group: {
    _id: "$source",
    listens: {
      $sum: 1
    },
    skips: {
      $sum: {
        $lt: ["$length", 1000]
      }
    }
  }
}, ])

Quelqu'un sait-il comment je peux y parvenir? Merci!

DAXaholic

Vous pouvez ajouter une condition imbriquée comme ceci

...
skips: {
    $sum: {
        $cond: {
            if: { $lt: ["$length", 1000]},
            then: 1,
            else: 0
        }
    }
}
...

Cet article est collecté sur Internet, veuillez indiquer la source lors de la réimpression.

En cas d'infraction, veuillez [email protected] Supprimer.

modifier le
0

laisse moi dire quelques mots

0commentaires
connexionAprès avoir participé à la revue

Articles connexes

Comment vérifier tous les documents d'une base de données MongoDB pour la dernière valeur d'un champ particulier à l'aide de l'agrégation?

MongoDB : comment fusionner tous les documents en un seul document dans un pipeline d'agrégation

MongoDB : comment fusionner tous les documents en un seul document dans un pipeline d'agrégation

Compter les occurrences d'élément dans un tableau avec le framework d'agrégation mongodb

Agrégation MongoDB - rechercher et compter les documents en fonction de la valeur de la propriété

Agrégation MongoDB avec $lookup pour le champ à l'intérieur d'un tableau

recherche sur tous les documents à l'intérieur d'un tableau - agrégation MongoDB

Comment déplacer un tableau de documents intégrés vers le parent et modifier la clé / valeur avec le pipeline d'agrégation

Comment utiliser l'agrégation pour compter les documents ET résumer un champ spécifique?

Supprimer un champ particulier pour tous les documents d'une collection à l'aide de l'agrégation MongoDB

Supprimer un champ particulier pour tous les documents d'une collection à l'aide de l'agrégation dans mongoDB

Agrégation MongoDB : Comment ajouter un champ imbriqué qui est la somme d'un champ double imbriqué ?

Comment construire un pipeline d'agrégation pour filtrer les documents en fonction des valeurs de champ dans d'autres documents?

Pipeline d'agrégation Mongodb avec $ setIntersection

Mongodb findoneandupdate avec pipeline d'agrégation

MongoDB - Compter les documents selon si un champ a une valeur particulière en phase de groupe

Créer un nouveau champ à partir d'un champ imbriqué avec framework d'agrégation, MongoDB

NodeJS, MongoDB, la fonction d'agrégation avec le résultat $ lookup est un tableau vide []

Comment regrouper des documents avec un champ spécifique dans l'agrégation de mongodb

Comment limiter les documents dans $group dans le pipeline d'agrégation mongodb ?

Maven war - 'packaging' avec la valeur 'war' n'est pas valide Les projets d'agrégation nécessitent un `` pom '' comme emballage

Comment inclure un autre champ dans le pipeline d'agrégation Mongodb?

Comment remplacer root par un champ de tableau pendant le pipeline d'agrégation MongoDB?

Agrégation par champ puis somme de la valeur d'un autre champ

Ajouter un champ aux documents après le pipeline d'agrégation $ sort qui inclut son index dans une liste triée à l'aide de l'agrégation MongoDb

convertir un champ à l'intérieur d'un tableau d'objets. agrégation mongodb

La correspondance d'agrégation Mongodb se termine par l'utilisation de la valeur de champ

Compter des éléments similaires dans un tableau avec le framework d'agrégation mongodb

agrégation mongodb: si la valeur de deux champs correspond, ajoutez la valeur d'un autre fichier du dictionnaire correspondant à un nouveau champ

TOP liste

  1. 1

    Microsoft.WebApplication.targets

  2. 2

    Spring @RequestParam DateTime format comme ISO 8601 Date Heure facultative

  3. 3

    comment supprimer "compte de connexion google" à des fins de développement - actions sur google

  4. 4

    Comment ajouter une entrée à une table de base de données pour une combinaison de deux tables

  5. 5

    Passer la taille d'un tableau 2D à une fonction ?

  6. 6

    Exporter la table de l'arborescence vers CSV avec mise en forme

  7. 7

    Impossible d'accéder à la vue personnalisée pendant le test de l'interface utilisateur dans XCode

  8. 8

    Créer un système Buzzer à l'aide de python

  9. 9

    Comment changer le navigateur par défaut en Microsoft Edge pour Jupyter Notebook sous Windows 10 ?

  10. 10

    impossible d'obtenir l'image d'arrière-plan en plein écran dans reactjs

  11. 11

    Algorithme: diviser de manière optimale une chaîne en 3 sous-chaînes

  12. 12

    CSS: before ne fonctionne pas sur certains éléments,: after fonctionne très bien

  13. 13

    Conversion double en BigDecimal en Java

  14. 14

    Comment obtenir l'intégration contextuelle d'une phrase dans une phrase à l'aide de BERT ?

  15. 15

    Comment choisir le nombre de fragments et de répliques Elasticsearch

  16. 16

    Comment vérifier si un utilisateur spécifique a un rôle? Discord js

  17. 17

    Comment créer un bot à compte à rebours dans Discord en utilisant Python

  18. 18

    Existe-t-il un moyen de voir si mon bot est hors ligne ?

  19. 19

    comment afficher un bouton au-dessus d'un autre élément ?

  20. 20

    Comment activer le message Pylint "too-many-locals" dans VS Code?

  21. 21

    Je continue à obtenir l'objet 'WSGIRequest' n'a pas d'attribut 'Get' sur django

chaudétiquette

Archive