MongoDB dans l'opérateur

MongoDB dans l'opérateur
Dans cet article, nous discuterons de la façon d'utiliser le $ dans l'opérateur dans les bases de données MongoDB. L'opérateur $ in nous permet de sélectionner des documents où la valeur d'un champ donné est égale à toute valeur dans un tableau fourni.

Syntaxe de l'opérateur

L'expression suivante définit la syntaxe utilisée pour l'opérateur $ en:

champ: $ in: [,,…]

L'opérateur compare chaque paramètre à tous les documents de la collection spécifiée. Il est important d'être conscient de la façon dont cet opérateur est appliqué car il peut entraîner des succès.

MongoDB recommande de limiter le nombre de paramètres à analyser pour éviter des problèmes de performance significatifs.

Vous pouvez également utiliser d'autres fonctionnalités telles que des index pour aider MongoDB lors de l'application de l'opérateur $ en une grande collection.

Exemple pratique

Prenons une collection avec des valeurs réelles pour illustrer comment utiliser cet opérateur. Considérez la collection d'échantillons ci-dessous:

db.CreateCollection ("magasin")
db.boutique.insertmany ([
_id: 0, "Product_name": "Apple MacBook Air", "Quantité": 100, "Price": 1199, "Catégorie": ["Tech", "Apple"],
_id: 1, "Product_name": "Google Pixel 6A", "Quantité": 1000, "Price": 449, "Catégorie": ["Tech", "Google"],
_id: 2, "Product_name": "Apple iPad Air", "Quantité": 550, "Price": 599, "catégorie": ["Tech", "Apple"],
_id: 3, "Product_name": "Samsung Z Fold 4", "Quantity": 400, "Price": 1799, "Catégorie": ["Tech", "Samsung"],
_id: 4, "Product_name": "Sony WH-100XM5", "Quantité": 800, "Price": 400, "catégorie": ["Tech", "Sony"],
])

La requête ci-dessus crée une «boutique» de collection et y ajouter des exemples de données. Explorons maintenant comment nous pouvons utiliser le $ dans l'opérateur dans un tel document.

Utilisation de l'opérateur $ in pour localiser les documents correspondants

L'exemple ci-dessous utilise le $ dans l'opérateur pour trouver tous les documents où la catégorie est «Apple» ou «Samsung».

db.boutique.trouver (catégorie: $ in: ["Apple", "Samsung"])

Dans ce cas, la requête ne doit renvoyer les documents que les valeurs «Apple» ou «Samsung» dans le tableau de catégorie.

Un exemple de sortie est comme indiqué:


"_id": 0.0,
"Product_name": "Apple MacBook Air",
"Quantité": 100.0,
"Prix": 1199.0,
"catégorie" : [
"technologie",
"pomme"
]]


"_id": 2.0,
"Product_name": "Apple iPad Air",
"Quantité": 550.0,
"Prix": 599.0,
"catégorie" : [
"technologie",
"pomme"
]]


"_id": 3.0,
"Product_name": "Samsung z pli 4",
"Quantité": 400.0,
"Prix": 1799.0,
"catégorie" : [
"technologie",
"Samsung"
]]

Utilisation de l'opérateur $ in pour mettre à jour les documents correspondant à une condition spécifique

Nous pouvons également utiliser le $ dans l'opérateur pour effectuer une mise à jour de la collection à l'aide de méthodes UpdateOne () ou UpdateMany ().

Supposons que la boutique soit à court d'appareils Apple et que nous souhaitons mettre à jour les documents dans une seule requête, nous pouvons exécuter une demande comme indiqué:

db.boutique.UpdateMany (catégorie: $ in: ["Apple"],
$ set: disponible: false
)

La requête ci-dessus met à jour les documents où la catégorie est égale à «Apple» et le statut disponible à False.

Le document résultant doit ressembler comme indiqué:


"_id": 0.0,
"Product_name": "Apple MacBook Air",
"Quantité": 100.0,
"Prix": 1199.0,
"catégorie" : [
"technologie",
"pomme"
]],
"Disponible": faux


"_id": 1.0,
"Product_name": "Google Pixel 6A",
"Quantité": 1000.0,
"Prix": 449.0,
"catégorie" : [
"technologie",
"Google"
]]


"_id": 2.0,
"Product_name": "Apple iPad Air",
"Quantité": 550.0,
"Prix": 599.0,
"catégorie" : [
"technologie",
"pomme"
]],
"Disponible": faux


"_id": 3.0,
"Product_name": "Samsung z pli 4",
"Quantité": 400.0,
"Prix": 1799.0,
"catégorie" : [
"technologie",
"Samsung"
]]


"_id": 4.0,
"Product_name": "Sony WH-100xM5",
"Quantité": 800.0,
"Prix": 400.0,
"catégorie" : [
"technologie",
"Sony"
]]

Nous pouvons voir que toute entrée Apple comprend un champ disponible avec la valeur définie sur false.

Conclusion

Dans cet article, nous avons exploré le $ en opérateur dans les bases de données MongoDB. Cet opérateur nous permet de sélectionner des documents dont la valeur de champ correspond à un ensemble donné de valeurs dans un tableau.

Merci d'avoir lu!!