Untitled
unknown
python
2 years ago
1.5 kB
4
Indexable
page_size = 200000 for i in range(0, len(activityRecordPositionIds), page_size): print("Querying {} to {}".format(i, i + page_size)) activityRecordPositions.extend(db.activityRecordPositions.find({"_id": {"$in": activityRecordPositionIds[i:i + page_size]}}, rpProject)) activityRecordPositions = {activityRecordPosition.get("_id"): activityRecordPosition for activityRecordPosition in activityRecordPositions} vehicles = {vehicle.get("_id"): vehicle.get('width') for vehicle in vehicles} for activity in activities: vehicleWidthDic = [vehicles.get(vehicle.get('vehicleId')) for vehicle in activity.get("sensors", [])] vehicleWidthDic = list(filter(None, vehicleWidthDic)) if len(vehicleWidthDic) <= 0: continue activity["vehicleWidth"] = max(vehicleWidthDic) activity["recordPositions"] = [activityRecordPositions.get(activityRecordPositionId) for activityRecordPositionId in activity.get("activityRecordPositionIds")] zoneDic[activity.get("zoneId")].setdefault("activityRecords", []).append(activity) progresses = db.progresses.find({"inProgress": True, "zoneId": {"$in": zoneIds}}) for progress in progresses: zoneDic[progress.get("zoneId")].setdefault("progresses", []).append(progress) zoneDic = {zoneId: zone for zoneId, zone in zoneDic.items() if len(zone.get("activityRecords", [])) > 0} return list(zoneDic.values())
Editor is loading...