$in - Amazon DocumentDB

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

$in

L'opérateur $in d'agrégation vérifie si une valeur spécifiée existe dans un tableau. Elle renvoie true si la valeur est trouvée dans le tableau, et false sinon.

Paramètres

  • value: valeur à rechercher.

  • array: le tableau dans lequel effectuer la recherche.

Exemple (MongoDB Shell)

L'exemple suivant montre comment utiliser l'$inopérateur pour vérifier si une compétence spécifique existe dans l'ensemble de compétences de chaque employé.

Création d'exemples de documents

db.employees.insertMany([ { _id: 1, name: "Sarah", skills: ["Python", "JavaScript", "SQL"] }, { _id: 2, name: "Mike", skills: ["Java", "C++", "Go"] }, { _id: 3, name: "Emma", skills: ["Python", "Ruby", "Rust"] } ]);

Exemple de requête

db.employees.aggregate([ { $project: { name: 1, hasPython: { $in: ["Python", "$skills"] } } } ]);

Sortie

[ { _id: 1, name: 'Sarah', hasPython: true }, { _id: 2, name: 'Mike', hasPython: false }, { _id: 3, name: 'Emma', hasPython: true } ]

Exemples de code

Pour afficher un exemple de code relatif à l'utilisation de l'opérateur d'$inagrégation, choisissez l'onglet correspondant à la langue que vous souhaitez utiliser :

Node.js
const { MongoClient } = require('mongodb'); async function example() { const client = await MongoClient.connect('mongodb://<username>:<password>@<cluster-endpoint>:27017/?tls=true&tlsCAFile=global-bundle.pem&replicaSet=rs0&readPreference=secondaryPreferred&retryWrites=false'); const db = client.db('test'); const collection = db.collection('employees'); const result = await collection.aggregate([ { $project: { name: 1, hasPython: { $in: ["Python", "$skills"] } } } ]).toArray(); console.log(result); await client.close(); } example();
Python
from pymongo import MongoClient def example(): client = MongoClient('mongodb://<username>:<password>@<cluster-endpoint>:27017/?tls=true&tlsCAFile=global-bundle.pem&replicaSet=rs0&readPreference=secondaryPreferred&retryWrites=false') db = client['test'] collection = db['employees'] result = list(collection.aggregate([ { '$project': { 'name': 1, 'hasPython': { '$in': ['Python', '$skills'] } } } ])) print(result) client.close() example()