Requête de filtre MongoDB

Requête de filtre MongoDB
L'agrégation de filtre MongoDB a été introduite dans la version 3.2. Il est utilisé pour choisir un sous-ensemble d'un tableau et fournir le résultat en fonction des critères. L'opérateur de filtre renvoie un tableau d'entrées qui correspondent au critère fourni dans l'ordre qui leur a été trouvé. Lorsque vous utilisez l'opérateur de filtre dans MongoDB, nous devons fournir l'entrée, As et Cond comme arguments. L'entrée et le cond sont des paramètres requis, mais «As» est facultatif. Nous devons utiliser le signe $ avant le mot clé du filtre lorsque nous utilisons l'opérateur de filtre dans MongoDB.

Syntaxe de la requête du filtre MongoDB dans Ubuntu 20.04?

L'opérateur de filtre $ fournit un tableau avec seulement les éléments de l'ordre d'origine qui correspondent à la condition. Menu ci-dessous est la syntaxe de $ filtre:

$ filtre: entrée: , comme: , cond:
  • Filtre: l'opérateur de filtre $ est utilisé pour fournir un résultat qui répond à certains critères. Dans MongoDB, nous avons utilisé l'opérateur de filtre pour filtrer les résultats en fonction du critère que nous avons spécifié dans la requête.
  • Entrée: il s'agit d'une expression de résolution du tableau. Nous avons réussi à passer le champ de tableau sous forme de paramètre d'entrée pour filtrer les enregistrements. Avant d'utiliser le paramètre de champ de saisie dans l'opérateur de filtre, nous devons utiliser le signe $.
  • AS: c'est un argument de l'opérateur de filtre qui est facultatif. Ceci est le nom du champ qui a été utilisé comme élément du tableau d'entrée. Ce paramètre est du type de chaîne dans l'opérateur de filtre. À l'aide du mot-clé «AS», cette expression accède à chaque élément dans un tableau d'entrée.
  • Cond: Cette option détermine où la valeur du tableau généré doit être incluse. Ce paramètre est du type d'expression dans l'opérateur de filtre. Les valeurs de la collection donnée ont été filtrées en utilisant l'expression. Nous pouvons utiliser de nombreux opérateurs conditionnels pour filtrer les données des éléments de tableau.

Comment fonctionne la requête du filtre à MongoDB dans Ubuntu 20.04:

Un opérateur de filtre MongoDB $ est utilisé pour filtrer les documents à partir d'un tableau basé sur une condition que nous avons définie dans notre requête. Sur la base de la condition donnée, renvoie un sous-ensemble d'un tableau. Seules les entrées de tableau qui satisfont aux exigences sont retournées. Les éléments sont réassemblés dans le même arrangement qu'auparavant.

Regardons quelques instances pour vous aider à comprendre ce dont nous discutons. Alors que nous passons par l'article, nous aimerions que vous essayiez les exemples de la coquille de Mongo. Nous commençons par créer une collection de bases de données qui utilise tout au long de l'article.

Ici, nous avons défini une collection de la base de données comme des «candidats» en utilisant le shell MongoDB. Pour cette collection, nous avons défini le champ ID, nom et marques. Nous avons inséré sept documents en même temps en utilisant la requête Insertmany.

La collection «candidats» invoque la fonction de recherche comme dans la requête ci-dessus. Ensuite, le document enregistré affiche le champ et ses valeurs correspondantes. Notez que sur le terrain «marques», le tableau est défini avec quelques valeurs aléatoires.

Exemple 1: Utilisation de l'opérateur de filtre $ dans MongoDB dans Ubuntu 20.04:

L'opérateur de filtre $ est utilisé pour filtrer les membres du tableau sur le terrain «marques» de la collection donnée dans l'exemple suivant:

Nous avons utilisé la requête globale sur la collection de «candidats». À l'intérieur de cette requête, nous avons l'opérateur de match $ qui est utilisé pour filtrer le document par l'ID. Nous avons attribué au champ ID un $ en opérateur. L'opérateur $ in trouve des documents où la valeur de l'ID est égale à toute valeur dans le tableau fourni. Ensuite, l'opérateur de filtre $ est passé l'argument d'entrée et définit sa valeur «$ marks». Le paramètre «AS» est également utilisé qui renvoie le nom de champ «Marques». Ensuite, nous avons spécifié le paramètre de cond qui utilise l'opérateur supérieur à l'opérateur sur le terrain «$$ marques».

En suivant la requête ci-dessus, le résultat que nous avons obtenu est illustré dans la figure avec le nouveau nom de champ Highmarks.

Exemple 2: Utilisation de l'opérateur de filtre $ pour un tableau vide dans MongoDB dans Ubuntu 20.04:

Lorsque l'un de nos documents de collecte a un tableau vide, l'opérateur de filtre renvoie un ensemble de tableau vide, comme on peut le voir ici:

Dans le match $ Match, nous avons spécifié l'ID qui a l'opérateur $ in qui renvoie l'ID «7» de la collection car nous avons donné «7» dans un tableau. Ensuite, la requête de filtre $ a fourni le champ de collecte «marques» qui renvoie un tableau vide car aucune valeur n'est stockée à l'intérieur du champ «Marques» d'ID «7».

Le résultat de l'opérateur de filtre a un ensemble vide du document ici.

Exemple 3: Utilisation de l'opérateur de filtre $ pour le mauvais type dans MongoDB dans Ubuntu 20.04:

Si nous essayons d'utiliser le filtre $ sur un champ qui n'a pas de tableau, nous obtiendrons une erreur. Ce qui suit est la démonstration de cette déclaration.

Nous avons donné un «nom» sur le terrain à partir du document dont l'ID est «5» à l'intérieur de l'opérateur de filtre $. Dans le cond de paramètre de Filtre $, nous avons l'opérateur $ EQ qui prend le terrain «$ name» et correspond à la valeur de chaîne définie à lui.

Lorsque nous exécutons la requête ci-dessus, le message d'erreur montre que le type doit être un tableau dans l'opérateur de filtre $ comme vu sur la figure.

Exemple 4: Utilisation de l'opérateur de filtre $ avec le $ cette variable dans MongoDB dans Ubuntu 20.04:

Nous avons utilisé le paramètre «AS» pour donner un nom à la variable dans les cas précédents. Le paramètre AS est facultatif. Si nous définissons ce champ de champ, le nom de la variable sera «ceci» par défaut.

Ici, nous avons spécifié le tableau dans $ en opérateur qui sélectionne les champs d'ID dans les documents de la collection donnée dans le Match $. Ensuite, le filtre $ a le deux paramètres, l'entrée et le cond. Le paramètre de cond a l'opérateur supérieur à ce qui récupère les marques supérieures à 65. Nous ne les avons pas utilisés comme paramètre, nous avons plutôt utilisé le nom de champ $$.

Par conséquent, en utilisant $$ ceci pour faire référence au champ, nous avons obtenu les mêmes résultats que de «AS». La sortie est satisfaite de la condition de correspondance $ et de la condition de filtre $ vu dans l'image.

Conclusion:

Ceci est un guide de filtre MongoDB. Dans cet article, nous avons parcouru la définition, la syntaxe et le fonctionnement des filtres dans MongoDB. Des exemples et une implémentation de code sont également fournis. Les éléments du champ de tableau sont filtrés à l'aide de l'opérateur de filtre MongoDB. Pour récupérer les données des éléments de tableau, nous avons utilisé plusieurs conditions telles que $ gt, $ lt, $ gte et $ lte.