MongoDB $ Rand

MongoDB $ Rand
MongoDB est si vaste lorsqu'il s'agit d'utiliser des opérateurs comme les opérateurs de comparaison, les opérateurs logiques et les opérateurs à usage général. L'opérateur MongoDB $ Rand est utilisé pour renvoyer une valeur aléatoire à partir d'une plage spécifiée comme le suggère le titre «Rand». Le mot «aléatoire» est utilisé pour tout ce qui est choisi par hasard sans décision ni priorité appropriée. L'opérateur «Rand» de MongoDB peut être utilisé en conjonction avec d'autres opérateurs dans une requête pour sélectionner et modifier au hasard des enregistrements d'une collection spécifique. Une utilisation de l'opérateur $ rand est de récupérer des enregistrements aléatoires. L'opérateur $ Rand fournit un moyen utile d'introduire le hasard dans les requêtes MongoDB et peut être utilisé de diverses manières pour atteindre les objectifs. Dans ce guide, nous allons développer l'utilisation de l'opérateur «Rand» pour générer des enregistrements de champ aléatoires dans la base de données.

Créer une collection dans la base de données

Commencez avec la création d'une nouvelle collection dans votre MongoDB, si vous n'en avez pas. La collection est un incontournable pour effectuer toute opération sur les enregistrements de la base de données dans MongoDB. De plus, la collection doit avoir au moins 1 document déjà inséré avant de lui appliquer une commande. Par conséquent, nous avons déjà créé une collection dans notre base de données MongoDB. Nous l'avons nommé «mannequin» dans notre base de données «test» que nous utiliserons dans les requêtes.

Test> Afficher les collections

Factice

Lorsque vous travaillez avec MongoDB, vous devez avoir des enregistrements pour utiliser l'opérateur «Rand». La commande répertoriée ci-dessous a été utilisée avec le «DB.Factice.FIND () ”Fonction utilisée pour récupérer tous les documents d'une collection« mannequin ». Cette commande renvoie tous les documents de la collection, y compris leur champ «_id» unique, ainsi que d'autres domaines tels que «ville», «comte» et «desc». Cela permet à l'utilisateur de visualiser les données stockées dans la collecte et de prendre des décisions sur la façon de travailler avec elle.

Tester> dB.Factice.trouver()
[_id: ObjectId ("63C8A1F94FF07039AA6CDF6B"), Ville: 'Texas', Count: 3, Desc: 'Mility City',
_id: ObjectId ("63C8A1F94FF07039AA6CDF6C"), Ville: 'Los Angeles', Count: 3, Desc: 'Mid size City',
_id: ObjectId ("63C8A1F94FF07039AA6CDF6D"), Ville: 'Italie', Count: 10, Desc: 'le plus beau et bondé',
_id: ObjectId ("63C8A1F94FF07039AA6CDF6E"), Ville: 'Istanbul', Count: 3, desc: 'Moyenne City',
_id: ObjectId ("63C8A1F94FF07039AA6CDF6F"), ville: 'Delhi', Count: 3, desc: 'Mility City']

Exemple # 01: $ RAND Opérateur

Commençons par l'utilisation de la commande MongoDB qui utilise la méthode Aggregate () sur une collection appelée «mannequin» dans la base de données «Test». La méthode agrégat () est utilisée pour traiter les données des collections et renvoyer les résultats calculés. La commande utilise l'opérateur de projet $, qui est utilisé pour remodeler les documents dans le pipeline. Et il crée un nouveau champ appelé «Random» qui est attribué le résultat de l'opérateur $ Rand.

L'opérateur $ rand génère un nombre aléatoire entre 0 et 1 (inclusif) pour chaque enregistrement de la collection. Le suivant l'opérateur $ rand indique qu'aucun argument n'est transmis à l'opérateur, il générera donc un nombre aléatoire sans aucune contrainte spécifique. La sortie est un tableau JSON de documents dans la collection «factice», chacun contenant un champ «_id» et un champ «aléatoire». Le champ «aléatoire» contient un nombre aléatoire compris entre 0 et 1 ou ou les valeurs de type flottant qui ont été générées par l'opérateur $ rand pour les 5 enregistrements également indiqués dans la sortie ci-dessous:

Tester> dB.Factice.agrégat ([$ project: aléatoire: $ rand: ])
[_id: ObjectId ("63c8a1f94ff07039aa6cdf6b"), aléatoire: 0.292593749216963,
_id: ObjectId ("63C8A1F94FF07039AA6CDF6C"), Random: 0.5529488318506414,
_id: ObjectId ("63C8A1F94FF07039AA6CDF6D"), Random: 0.10835699304362681,
_id: ObjectId ("63C8A1F94FF07039AA6CDF6E"), Random: 0.702304030840275,
_id: ObjectId ("63c8a1f94ff07039aa6cdf6f"), aléatoire: 0.32829452437455164]

Exemple n ° 02: Utilisation de l'opérateur $ rand avec un opérateur $ multiplier

Le premier exemple illustre l'utilisation de l'opérateur «rand» à MongoDB uniquement sur une collection. Maintenant, nous l'utiliserons en conjonction avec l'opérateur multiplié. Nous utilisons la requête ci-dessous à cet effet. Il commence par l'utilisation de la fonction agrégée avec la scène du projet $ et l'opérateur aléatoire à nouveau. Cette fois, l'opérateur Multiply a été appliqué à un opérateur «$ rand» ou la valeur que nous avons de l'opérateur «Rand» est multipliée par 10 pour générer un nombre aléatoire entre 0 et 10 pour chaque document. La sortie ci-dessous montre un tableau de tous les documents de la collection «mande.e., flotter.

Tester> dB.Factice.agrégat ([$ project: random: $ multiply: [$ rand: , 10]])
[_id: ObjectId ("63C8A1F94FF07039AA6CDF6B"), aléatoire: 9.636797271617377,
_id: ObjectId ("63C8A1F94FF07039AA6CDF6C"), aléatoire: 9.612768242636559,
_id: ObjectId ("63C8A1F94FF07039AA6CDF6D"), aléatoire: 9.773269856209643,
_id: ObjectId ("63C8A1F94FF07039AA6CDF6E"), R Andom: 4.544313454814634,
_id: ObjectId ("63c8a1f94ff07039aa6cdf6f"), aléatoire: 3.3338556824055585]

Exemple n ° 03: Opérateur $ Rand avec «$ Floor Operator

La dernière commande illustre l'utilisation de l'opérateur «rand» avec l'opérateur «Multiply» pour générer des nombres aléatoires de type flotteur. Cette fois, nous expliquerons comment générer des numéros de type entier à l'aide de l'opérateur «Rand» en conjonction avec l'opérateur «Floor» de MongoDB. Par conséquent, l'instruction ci-dessous a été exécutée dans la coquille MongoDB pour produire les valeurs aléatoires entières pour chaque enregistrement de la collection «Dummy». Cette fois, l'opérateur aléatoire est multiplié par 10 pour générer un nombre aléatoire entre 0 et 10 pour chaque document. Après cela, l'opérateur de plancher est appliqué pour arrondir le nombre aléatoire à l'entier le plus proche.

La sortie est une table aussi.

Tester> dB.Factice.agrégat ([$ project: City: 1, aléatoire: $ plancher: $ multiply: [$ rand: , 10]]))
[_id: ObjectId ("63C8A1F94FF07039AA6CDF6B"), Ville: 'Texas', aléatoire: 5,
_id: ObjectId ("63C8A1F94FF07039AA6CDF6C"), ville: 'Los Angeles', aléatoire: 0,
_id: ObjectId ("63C8A1F94FF07039AA6CDF6D"), Ville: 'Italie', aléatoire: 5,
_id: ObjectId ("63C8A1F94FF07039AA6CDF6E"), ville: 'Istanbul', aléatoire: 7,
_id: ObjectId ("63C8A1F94FF07039AA6CDF6F"), ville: 'Delhi', aléatoire: 5]

Exemple # 04: $ RAND Opérateur avec $ Floor Operator

Dans les illustrations ci-dessus, nous avons multiplié des valeurs générées de manière aléatoire avec 10 ou rien pour les laisser dans leur forme de type flotteur ou pour les convertir en valeur entière. Mais, dans cet exemple, nous multiplierons nos valeurs flottantes générées de manière aléatoire avec une figure un peu plus grande qui est de 5000. De la même manière, la commande utilisée dans les exemples ci-dessus a été utilisée ici avec un léger changement. L'opérateur «Multiply» multiplie le nombre aléatoire généré par l'opérateur $ rand de 5000 pour augmenter la plage du nombre aléatoire. L'opérateur «Floor» arrond le nombre généré par l'opérateur $ Multiply à l'entier le plus proche. La sortie de cette instruction ci-dessous affiche 5 enregistrements à l'écran de la coque MongoDB avec une nouvelle propriété qui contient un numéro entier aléatoire entre 0 et 5000 comme suit:

Tester> dB.Factice.agrégat ([$ project: City: 1, aléatoire: $ plancher: $ multiply: [$ rand: , 5000]]))
[_id: ObjectId ("63C8A1F94FF07039AA6CDF6B"), Ville: 'Texas', aléatoire: 2862,
_id: ObjectId ("63C8A1F94FF07039AA6CDF6C"), ville: 'Los Angeles', aléatoire: 3688,
_id: ObjectId ("63C8A1F94FF07039AA6CDF6D"), ville: 'Italie', aléatoire: 814,
_id: ObjectId ("63C8A1F94FF07039AA6CDF6E"), ville: 'Istanbul', aléatoire: 3888,
_id: ObjectId ("63C8A1F94FF07039AA6CDF6F"), ville: 'Delhi', aléatoire: 2939]

Conclusion

Nous avons discuté de la définition de l'opérateur «aléatoire» dans MongoDB. De plus, nous avons discuté de ses utilisations dans la ligne de commande MongoDB. Ensuite, nous avons essayé 4 des différents exemples pour démontrer son utilisation avec d'autres opérateurs. Les commandes ci-dessus montrent comment utiliser la fonction d'agrégat MongoDB et divers opérateurs tels que $ rand, $ multiply et $ flover pour manipuler les données dans une collection et générer de nouvelles propriétés avec des nombres aléatoires.