======================= DO Transition List, ==================== ================================================================ ~/eWms/doTransition/list/ $$$$ => db.EvolveDOTransition.aggregate([ { "$match": {} }, { "$lookup": { "from": "EvolveDO", "let": { "evolve_do_id": "$EvolveDO_ID" }, "pipeline": [ { "$match": { "$expr": { "$eq": [ "$_id", "$$evolve_do_id" ] } } } ], "as": "EvolveDO_ID" } }, { "$unwind": { "path": "$EvolveDO_ID" } }, { "$match": { "$expr": { "$or": [ { "$eq": [ "$EvolveDO_ID.EvolveDO_ShipFrom", "62de23659b90475655e4df50" ] }, { "$eq": [ "$EvolveDO_ID.EvolveDO_ShipTo", "62de23659b90475655e4df50" ] } ] } } }, { "$lookup": { "from": "EvolveUnit", "localField": "EvolveDO_ID.EvolveDO_ShipFrom", "foreignField": "_id", "as": "EvolveDO_ID.EvolveDO_ShipFrom" } }, { "$unwind": { "path": "$EvolveDO_ID.EvolveDO_ShipFrom", "preserveNullAndEmptyArrays": true } }, { "$lookup": { "from": "EvolveUnit", "localField": "EvolveDO_ID.EvolveDO_ShipTo", "foreignField": "_id", "as": "EvolveDO_ID.EvolveDO_ShipTo" } }, { "$unwind": { "path": "$EvolveDO_ID.EvolveDO_ShipTo", "preserveNullAndEmptyArrays": true } }, { "$addFields": { "EvolveDO_ShipFrom": "$EvolveDO_ID.EvolveDO_ShipFrom.EvolveUnit_Code", "EvolveDO_ShipFromID": "$EvolveDO_ID.EvolveDO_ShipFrom._id", "EvolveDO_ShipTo": "$EvolveDO_ID.EvolveDO_ShipTo.EvolveUnit_Code", "EvolveDO_ShipToID": "$EvolveDO_ID.EvolveDO_ShipTo._id", "receiveEnable": { "$cond": [ { "$eq": [ "$EvolveDO_ID.EvolveDO_ShipTo._id", "62de23659b90475655e4df50" ] }, true, false ] } } }, { "$addFields": { "rootData": "$$ROOT" } }, { "$unwind": { "path": "$EvolveDOTransition_Details", "preserveNullAndEmptyArrays": true } }, { "$lookup": { "from": "EvolveItem", "localField": "EvolveDOTransition_Details.EvolveItem_ID", "foreignField": "_id", "as": "EvolveDOTransition_Details.EvolveItem_ID" } }, { "$unwind": { "path": "$EvolveDOTransition_Details.EvolveItem_ID", "preserveNullAndEmptyArrays": true } }, { "$group": { "_id": "$rootData._id", "EvolveDOTransition_Details": { "$push": "$EvolveDOTransition_Details" }, "rootData": { "$first": "$rootData" } } }, { "$set": { "rootData.EvolveDOTransition_Details": "$EvolveDOTransition_Details" } }, { "$replaceRoot": { "newRoot": "$rootData" } }, { "$sort": { "createdAt": -1 } }, { "$skip": 0 }, { "$limit": 10 } ]) -------------------- End ---------------------------------------