Avec plus de 20 ans d'expérience dans le développement et le digital, je vous propose ici mes services pour l'écriture de requêtes MongoDB.
Je vous accompagnerai pour vous aider à optimiser les performances de votre base de données MongoDB et/ou écrire vos requêtes correspondant à vos besoins.
Je vous offre des services d'écriture de requêtes sur mesure, adaptés à vos besoins et à vos objectifs. Que vous souhaitiez améliorer la vitesse de vos requêtes, interroger votre base de donnée je vous aide à obtenir le résultat souhaité.
Exemple de besoin :
Vous souhaitez pouvoir extraire le montant total payé par un client en comptabilisant toutes les commandes qu'il a faites.
Votre base de donnée contient 2 collections :
- 1 collection "Client" qui contient les information du client et
- 1 collection Commande. (qui contient un champ "montant" qui represente le montant total de la commande
- La collection client contient un id (_id) et la collection commande contient un champ "client_id" avec une reference vers _id.
Le livrable sera alors la requête correspondante à utiliser dans mongosh :
db.commandes.aggregate([
{
$match: { client_id: ObjectId("5f7a8f9ed9b7eb1b35a9f2f2")}
},
{
$group: {
_id: "$client_id",
total: { $sum: "$montant" }
}
}
])
et je vous indiquerais de changer la valeur "5f7a8f9ed9b7eb1b35a9f2f2" par l'id du client que vous chercher.
En terme de tarif c'est très simple :
15 euros c'est le prix pour écrire une requête quel que soit sa complexité.
Vous pouvez ensuite choisir différente option.
Par exemple : adaptation de la requête en un langage de developpement particulier.
dans l'exemple précedent, imaginons que vous souhaiteriez utiliser cette requête en python, alors je vous donnerais le livrable suivant :
from pymongo import MongoClient
from bson.objectid import ObjectId
client = MongoClient() # connect to the MongoDB server
db = client.mydatabase # select the database
# build the pipeline for the aggregate query
pipeline = [
{"$match": {"client_id": ObjectId("5f7a8f9ed9b7eb1b35a9f2f2")}},
{"$group": {"_id": "$client_id", "total": {"$sum": "$montant"}}}
]
result = db.commandes.aggregate(pipeline)
for r in result:
print(r)
avec l'indication d'installer pymongo avant de l'utiliser en tapant la commande suivante dans le terminal :
pip install pymongo.