I'm a PHP developer and managing big data stored with this language is not so easy.
Add data to the db is not a problem, but retrieving a summary and save it as csv is not to easy.
So this time I tried to use Python and it marvelous because:
- In a moment you can create the object containing the aggregate conditions;
- Saving the data as csv is easy.
#!/usr/bin/python import pymongo import csv import collections from pymongo import MongoClient db = MongoClient().report_impresa pipeline = [ { "$group": { "_id": "$CompanySummary.CreditRating.CreditLimit", "count": {"$sum": 1}, "min_rating": {"$min": "$CompanySummary.CreditRating.CommonValue"}, "max_rating": {"$max": "$CompanySummary.CreditRating.CommonValue"}, } }, {"$sort": {"_id": 1}} ] descr = db.ggs.aggregate(pipeline) values = {} for att in descr: chiave = att["_id"] if chiave is None: chiave = "" if chiave == "": values[""] = att else: values[int(chiave)] = att with open('fido.csv', 'w') as csvfile: writer = csv.DictWriter( csvfile, fieldnames=[ "_id", "count", "min_rating", "max_rating" ] ) writer.writeheader() for k in sorted(values): writer.writerow(values[k])
Top comments (0)