Requete Mongodb
Requete Mongodb
Requete Mongodb
db.maCollection.find({critères}, {projection})
Critères de recherche : Vous pouvez spécifier des critères de
recherche pour filtrer les documents que vous souhaitez
récupérer. Par exemple :
db.maCollection.find({ "nom": "valeur" })
Opérateur de comparaison: Vous pouvez utiliser une variété
d'opérateurs de comparaison tels que $eq, $gt, $lt, $gte, $lte,
$ne, etc., pour des critères plus complexes.
Supposons que nous avons une collection "utilisateurs"
contenant des documents représentant des utilisateurs
avec les champs "nom", "âge" et "score".
1. Pour trouver tous les utilisateurs ayant un score
supérieur à 80 :
db.utilisateurs.find({ "score": { $gt: 80 } })
2. Pour trouver tous les utilisateurs ayant un âge compris
entre 25 et 35 inclusivement :
db.utilisateurs.find({ "âge": { $gte: 25, $lte: 35 } })
3. Pour trouver tous les utilisateurs ayant un nom différent
de "John" :
db.utilisateurs.find({ "nom": { $ne: "John" } })
4. Pour trouver tous les utilisateurs ayant un score
exactement égal à 100 :
db.utilisateurs.find({ "score": { $eq: 100 } })
5. Pour trouver tous les utilisateurs ayant un âge inférieur à
30 ou un score supérieur à 90 :
db.utilisateurs.find({ $or: [{ "âge": { $lt: 30 } }, { "score": { $gt:
90 } }] })
Projection : Vous pouvez spécifier une projection pour
inclure ou exclure des champs spécifiques des résultats de
la requête. Par exemple :
Supposons que vous ayez une collection "utilisateurs" avec
des documents qui ressemblent à ceci :
{
"_id": ObjectId("609f4809f0f7852e27d27ecb"),
"nom": "Alice",
"âge": 30,
"email": "alice@example.com"
}
Si vous exécutez la requête suivante :
db.utilisateurs.find({}, { "nom": 1, "âge": 1 })
{ "_id": ObjectId("609f4809f0f7852e27d27ecb"), "nom":
"Alice", "âge": 30 }
Vous avez demandé à inclure uniquement les champs
"nom" et "âge", donc les autres champs (comme "email")
ne sont pas inclus dans les résultats.
Limitation du nombre de résultats : Vous pouvez limiter le
nombre de résultats renvoyés en utilisant la méthode limit.
Par exemple :
db.maCollection.find().limit(10)
Cela limitera les résultats à 10 documents.
L’affichage rendu par find() est compact et peu lisible
directement. On peut ajouter la fonction pretty() pour avoir une
présentation propre.
db.prouduit.find().pretty()
db.utilisateurs.update(
{ "nom": "Alice" },
{ $set: { "age": 31 } }
)
Cet exemple mettra à jour tous les documents de la collection
"utilisateurs" ayant le champ "nom" égal à "Alice" en définissant le
champ "age" sur 31.
Utilisation de updateOne()
Si vous souhaitez mettre à jour un seul document qui correspond à
un critère spécifique, vous pouvez utiliser updateOne().
Syntaxe de base :
db.maCollection.updateOne(
<critères de sélection>,
<modification>,
{
<options>
}
)
Exemple :
db.utilisateurs.updateOne(
{ "nom": "Alice" },
{ $set: { "age": 31 } }
)
Cet exemple mettra à jour le premier document de la collection
"utilisateurs" ayant le champ "nom" égal à "Alice" en définissant
le champ "age" sur 31.