MONGODB $ GT $ GTE $ LT $ LTE Opérateurs

MONGODB $ GT $ GTE $ LT $ LTE Opérateurs

MongoDB prend en charge une variété d'opérateurs de requête pour rechercher et filtrer les documents dans une collection. Les opérateurs «GT», «GTE», «LT» et «LTE» sont utilisés pour effectuer des requêtes de comparaison sur les champs. L'opérateur «GT» (supérieur à) renvoie des documents où le champ spécifié est supérieur à la valeur spécifiée tandis que l'opérateur «GTE» (supérieur à) ou égal à) renvoie des documents où le champ spécifié est supérieur ou égal à la valeur spécifiée. D'un autre côté, l'opérateur «LT» (moins que) renvoie des documents où le champ spécifié est inférieur à la valeur spécifiée et que l'opérateur «LTE» (inférieur ou égal à) renvoie les documents où le champ spécifié est inférieur ou égal à la valeur spécifiée. Il y a peu de différence dans tous ces opérateurs, mais la méthode de les utiliser dans MongoDB est assez similaire. Discutons de cela dans ce guide.

Disons que vous avez tous les enregistrements nouvellement insérés de la collection «factice» dans votre base de données actuellement utilisée qui représente un total de 5 enregistrements avec des champs «_id», «ville» et «compter» uniques.

Tester> dB.Factice.trouver()
[
_id: ObjectId ("63C8A1F94FF07039AA6CDF6B"), Ville: 'Texas', Count: 5,
_id: ObjectId ("63C8A1F94FF07039AA6CDF6C"), Ville: 'Los Angeles', Count: 2,
_id: ObjectId ("63C8A1F94FF07039AA6CDF6D"), Ville: 'Italie', Count: NULL,
_id: ObjectId ("63C8A1F94FF07039AA6CDF6E"), Ville: 'Istanbul', Count: 8,
_id: ObjectId ("63C8A1F94FF07039AA6CDF6F"), Ville: 'Delhi', Count: 7
]]

Exemple # 01: $ GT Opérateur

L'opérateur «GT» sera utilisé pour définir ou mettre à jour la valeur d'un champ particulier dans une collection pour un seul enregistrement. Pour cela, vous devez exécuter la fonction «UpdateOne» de MongoDB avec l'ensemble de l'opérateur «GT» pour un champ spécifique. Dans notre cas, nous avons appliqué la mise à jour uniquement des enregistrements avec une valeur supérieure à la «3» dans leur champ «Count». L'opérateur «SET» est utilisé pour ajouter un nouveau champ «DESC» avec la valeur «la plus grande ville du monde» pour tous ces enregistrements ayant une valeur de «comptage» supérieure à «3». Un seul enregistrement a été mis à jour parce que nous avons essayé l'instruction «UpdateOne».

Tester> dB.Factice.UpdateOne ("count": $ gt: 3, $ set: "desc": "la plus grande ville du monde")

Reconnu: vrai,
InsertEDID: NULL,
MatchCount: 1,
ModifiedCount: 1,
UpsertedCount: 0

Le premier enregistrement de la collection «factice» n'a été mis à jour que conformément au résultat d'exécution de la fonction «Find». Le champ «DESC» est ajouté au record avec le nom de la ville «Texas».

Tester> dB.Factice.trouver (count: $ gt: 3)
[
_id: ObjectId ("63C8A1F94FF07039AA6CDF6B"), Ville: 'Texas', Count: 5, desc: 'la plus grande ville du monde' ',
_id: ObjectId ("63C8A1F94FF07039AA6CDF6E"), Ville: 'Istanbul', Count: 8,
_id: ObjectId ("63C8A1F94FF07039AA6CDF6F"), Ville: 'Delhi', Count: 7
]]

Utilisons la fonction UpdateMany () au lieu de UpdateOne () pour mettre à jour tous les enregistrements de la collection «factice» avec les valeurs de champ «Count» supérieures à «3». La commande ci-dessous a été utilisée à cet effet et nous avons la reconnaissance.

Tester> dB.Factice.UpdateMany (count: $ gt: 3, $ set: "desc": "la plus grande ville du monde")

Reconnu: vrai,
InsertEDID: NULL,
MatchCount: 3,
ModifiedCount: 2,
UpsertedCount: 0

Maintenant, après avoir exécuté l'instruction de la fonction «Find», encore une fois avec l'opérateur «GT», réglé sur le champ «Count» où la valeur est supérieure à «3», nous avons la sortie de croisement montrée. Les 3 enregistrements avec une valeur de «nombre» supérieur à «3» ont maintenant le champ «DESC» également.

Tester> dB.Factice.trouver (count: $ gt: 3)
[
_id: ObjectId ("63C8A1F94FF07039AA6CDF6B"), Ville: 'Texas', Count: 5, desc: 'la plus grande ville du monde' ',
_id: ObjectId ("63C8A1F94FF07039AA6CDF6E"), Ville: 'Istanbul', Count: 8, desc: 'la plus grande ville du monde',
_id: ObjectId ("63C8A1F94FF07039AA6CDF6F"), Ville: 'Delhi', Count: 7, desc: 'la plus grande ville du monde' ',
]]

Exemple # 02: $ opérateur GTE

Dans cet exemple, nous discuterons de l'utilisation de l'opérateur «gte» de MongoDB: supérieur ou égal à. Il sera utilisé pour rechercher ou mettre à jour les enregistrements plus importants ou égaux à une valeur particulière. La fonction UpdateMany () est utilisée pour mettre à jour de nombreux documents dans une collection MongoDB appelée «mannequin», où la valeur du champ «Count» est supérieure ou égale à 4. Le nombre est supérieur à «4». L'opérateur «Set» définira la valeur du champ «Count» sur 2 pour tous les documents correspondants. La mise à jour a été effectuée très bien.

Tester> dB.Factice.UpdateMany (count: $ gte: 4, $ set: "count": 2)

Reconnu: vrai,
InsertEDID: NULL,
MatchCount: 3,
ModifiedCount: 3,
UpsertedCount: 0

Après avoir affiché les enregistrements mis à jour de la collection «factice» en utilisant la fonction «Find», nous avons le résultat ci-dessous. Il montre que tous les enregistrements ont désormais la valeur «2» dans le champ «Count», sauf l'enregistrement «3» où le nombre est déjà nul et ne répond pas à la condition de l'opérateur «GTE» I.e. Comme la requête ci-dessus illustrée.

Tester> dB.Factice.trouver()
[
_id: ObjectId ("63C8A1F94FF07039AA6CDF6B"), Ville: 'Texas', Count: 2, Desc: 'la plus grande ville du monde' ',
_id: ObjectId ("63C8A1F94FF07039AA6CDF6C"), Ville: 'Los Angeles', Count: 2,
_id: ObjectId ("63C8A1F94FF07039AA6CDF6D"), Ville: 'Italie', Count: NULL,
_id: ObjectId ("63C8A1F94FF07039AA6CDF6E"), Ville: 'Istanbul', Count: 2, desc: 'la plus grande ville du monde',
_id: ObjectId ("63C8A1F94FF07039AA6CDF6F"), Ville: 'Delhi', Count: 2, Desc: 'la plus grande ville du monde' '
]]

Exemple # 03: $ Lt Operator

Cette fois, nous allons utiliser l'opérateur «LT» de MongoDB pour mettre à jour les enregistrements. La commande en dessous met à jour de nombreux documents dans MongoDB en utilisant la fonction UpdateMany () une fois de plus, où la valeur du champ «Count» est inférieure à 4. L'opérateur «SET» définit la valeur du champ «Count» sur 3 et la valeur du champ «DESC» à la «ville de taille moyenne» pour tous les documents appariés. La reconnaissance montre qu'un total de 4 enregistrements est mis à jour et que le 1 qui reste inchangé doit avoir une valeur «nul» dans son champ «Count».

Tester> dB.Factice.UpdateMany (count: $ lt: 4, $ set: "count": 3, "desc": "ville de taille moyenne")

Reconnu: vrai,
InsertEDID: NULL,
MatchCount: 4,
ModifiedCount: 4,
UpsertedCount: 0

Après avoir recherché les enregistrements de la collection «factice» où le champ de comptage a toutes les valeurs inférieures à «4» via l'opérateur «LT», il renvoie les 4 enregistrements qui ont tous le champ «Count» réglé sur «3» et le champ «DESC «Tiré sur« Ville de taille moyenne »comme suit:

Tester> dB.Factice.trouver (count: $ lt: 4)
[_id: ObjectId ("63C8A1F94FF07039AA6CDF6B"), Ville: 'Texas', Count: 3, Desc: 'Mility City',
_id: ObjectId ("63C8A1F94FF07039AA6CDF6C"), Ville: 'Los Angeles', Count: 3, Desc: 'Mid size City',
_id: ObjectId ("63C8A1F94FF07039AA6CDF6E"), ville: 'Istanbul', Count: 3, desc: 'Mid size City', _id: Objectid ("63C8A1F94FF07039AA6CDF6F"), City: 'Delhi', Count: 3, 3, Desc: 'Ville de taille moyenne']

Exemple # 04: $ LTE Opérateur

À partir de la requête ci-dessous, nous avons essayé la fonction «UpdateMany» avec son filtre Count: $ lte: null. Il correspond à tous les documents où la valeur du champ «Count» est inférieure ou égale à Null. Dans notre cas, il n'y a qu'un seul record avec une valeur «nul» sur le terrain «Count».Dans le deuxième argument, l'opérateur «Set» définit la valeur du champ «Count» à 10 et la valeur du champ «DESC» au «plus beau et bondé» pour tous les documents assortis. La commande ci-dessous met à jour un seul enregistrement dans une collection «factice», où la valeur du champ «Count» est inférieure ou égale à Null.

Tester> dB.Factice.UpdateMany (count: $ lte: null, $ set: "count": 10, "desc": "le plus beau et bondé")

Reconnu: vrai,
InsertEDID: NULL,
MatchCount: 1,
ModifiedCount: 1,
UpsertedCount: 0

Lorsque vous recherchez l'enregistrement avec une valeur de champ «Count» supérieure à «8», il renvoie un seul enregistrement qui a une valeur «nul» auparavant.

Tester> dB.Factice.trouver (count: $ gt: 8)
[_id: ObjectId ("63c8a1f94ff07039aa6cdf6d"), ville: 'Italie', comte: 10, desc: 'le plus beau et bondé']]

Conclusion

Cet article couvre le détail du but de l'utilisation des opérateurs GT, GTE, LT et LTE à MongoDB. Le premier exemple couvre l'opérateur «GT» et le second couvre l'opérateur «GTE» à l'aide d'instructions MongoDB. Alors que les deux dernières illustrations couvrent en détail l'utilisation des opérateurs «LT» et «LTE» à l'aide de la fonction UpdateMany () et de l'opérateur «Set».