======================= GRN Report, ==================== ================================================================ ~/eWms/grnReport/list/ => db.EvolveGateEntry.aggregate([ { "$match": { "EvolveGateEntry_MaterialDetails.EvolveGateEntryDoc_Type": "PO" } }, { "$lookup": { "from": "EvolveGate", "localField": "EvolveGateIN_ID", "foreignField": "_id", "as": "EvolveGateIN_ID" } }, { "$unwind": { "path": "$EvolveGateIN_ID", "preserveNullAndEmptyArrays": true } }, { "$lookup": { "from": "EvolvePoRecieve", "let": { "number": "$EvolveGateEntry_Number" }, "pipeline": [ { "$match": { "$expr": { "$eq": [ "$EvolveGateEntry_Number", "$$number" ] } } } ], "as": "por" } }, { "$unwind": { "path": "$por", "preserveNullAndEmptyArrays": true } }, { "$lookup": { "from": "EvolveSupplier", "localField": "por.EvolveSupplier_ID", "foreignField": "_id", "as": "por.EvolveSupplier_ID" } }, { "$unwind": { "path": "$por.EvolveSupplier_ID", "preserveNullAndEmptyArrays": true } }, { "$unwind": "$por.EvolvePoRecieve_GrnNumber" }, { "$addFields": { "Status": { "$cond": [ { "$or": [ { "$eq": [ { "$type": "$por" }, "missing" ] }, { "$eq": [ "$por.EvolvePoRecieve_Status", false ] } ] }, "NOTRECEIVED", "RECEIVED" ] } } }, { "$skip": 0 }, { "$limit": 10 } ]); -------------------- End ---------------------------------------