Hi all. I’m new using MongoDB. I created an aggregation whose main purpose is extracting information of a field in JSON format, among other information. This is the code:
use('Database');
db.Test2.aggregate([
{
$group: {
_id: "$WorkflowInstanceId",
status: { $last: "$WorkflowStatus" },
steps: {
$push: {
ActionSelected: "$ActionSelected",
ExecutedAt: "$LastExecutedAt",
Actors: "$workFlowData.actor.email",
Detalles: "$workFlowData.workflowParams",
fromFunction: { '$function': { body: function(jsonString){return JSON.parse(jsonString)}, args: ["$Detalles"], lang: 'js' } },
CurrentStep: "$CurrentStep",
NextStep: "$nextStep"
}
}
}
},
{
$out: "SummaryWorkflowsStepsLog3"
}
])
This is an example of a document inside a collection:
{
"_id": {
"$oid": "646d50198968621fd796c9fa"
},
"WorkflowInstanceId": "b4ddd66feb464ea3bc324e7479346d9f",
"WorkflowStatus": "Suspended",
"CreatedAt": {
"$date": "2022-05-11T06:12:42.176Z"
},
"LastExecutedAt": {
"$date": "2022-05-11T06:13:51.547Z"
},
"ActionSelected": "Receive",
"CurrentStep": 7,
"CurrentNotifications": [
"IF_N611",
"IF_N612"
],
"nextStep": 4,
"NextActions": [
{
"_id": 4,
"name": "FavorableExpertOpinion",
"url": "CfDJ8DdjtJBt8GtAgpdQyyrWkDTD2GjqCPRdJrIy7gD9cI03QTv1h3f1CKHBWliQndcW117SifoE-pZmfo0HiHiB9IXrtAvJPrKQeQWbUJlscWM9yy8Qa_teCTPUt4kYM9j7ErM6ZFc5f6ZGTEJN0pSGk_BNLNZh7VobbIv69JLqti69B5sJ2Etb1oOHfD-xHsJBhVMO6r6bCxC5vxDWp2vFmhK7A3-2Hpym7pS3bJ0Wg_u1"
},
{
"_id": 6,
"name": "NonFavorableExpertOpinion",
"url": "CfDJ8DdjtJBt8GtAgpdQyyrWkDQmVlw2qaFuZgUY56HnV_DolJhjVTG-TEmsHn_jEycbzdLNwYlONrj8LXop1WdpVnu2bvXIZPGvL5CovKSOALyvzmphfzXEyVzwK-o8WNPqo7vE6jlylLtwPOdcsiKNH2ugeigxdJ3Frwromqir79TFIk5lxu_RYQy8LrDRMWbVdyQJjorhD__5adKOlgC3VlJjb6jGfR-rYc-_Ds-qMDgr"
},
{
"_id": 5,
"name": "FavorableExpertOpinionConditional",
"url": "CfDJ8DdjtJBt8GtAgpdQyyrWkDSkf7Pkrl6vR-4TKcWiCXr7y1IZB6G59a8F7O92E0muc2grouAQnfb9gtQK0BamI2c-3qdEplF2ovlRHvofyBP0TpY7TfuVuJYGkw0owqmfX8VKpOSnXd7ZgS5fB-bD9a-qB0ROrUXiERFKlIvefK_nSRTjbuUzwbHBTotXVxYktS3e9ipUz1OjofAsft72y8s4FBNrrKA0NzxLSt_mHQwwifZIWK9Fjxw-8950W5JAng"
}
],
"NextActors": [
"23"
],
"workFlowData": {
"actor": {
"email": "ERICMAR@IADB.ORG",
"name": "ERICMAR",
"role": ""
},
"workflowParams": "{\"Comments\":{\"Id\":\"c8937a63-63a1-4689-b8d3-a346f4af95d6\",\"Visibility\":true,\"Source\":\"Internal\",\"Status\":\"Completed\",\"Text\":\"<p>add comments 1</p>\",\"Created\":\"5/11/2022 6:13:48 AM\",\"CreatedBy\":\"ERICMAR@IADB.ORG\"},\"Notification\":{\"Source\":\"\",\"Destinations\":[],\"DefaultTemplate\":\"\",\"DefaultLanguage\":\"EN\",\"DefaultTemplateData\":\"{\\\"OperationNumber\\\":\\\"PN-L1095\\\",\\\"LoanNumber\\\":\\\"3166/CH-PN\\\",\\\"OperationName\\\":\\\"Sustainable Rural Electrification Program in Panama\\\",\\\"ProcurementPlanVersion\\\":\\\"1900-2\\\",\\\"ComponentExecutionOrder\\\":\\\"\\\",\\\"ProcurementProcessName\\\":\\\"\\\",\\\"ProcurementProcessCode\\\":\\\"\\\",\\\"ProcurementProcessCategory\\\":\\\"\\\",\\\"ProcurementProcessMethod\\\":\\\"\\\",\\\"TotalEstimatedCost\\\":\\\"0.00\\\",\\\"PackageName\\\":\\\"\\\",\\\"PackageDocumentsList\\\":[],\\\"Result\\\":\\\"\\\",\\\"ContractCode\\\":\\\"-C\\\",\\\"ContractName\\\":\\\"\\\",\\\"ContractSignatureDate\\\":\\\"01-Jan-0001\\\",\\\"ContractStartDate\\\":\\\"01-Jan-0001\\\",\\\"ContractEndDate\\\":\\\"01-Jan-0001\\\",\\\"ContractTotalAmount\\\":\\\"0.00\\\",\\\"ContractAmendmentAmount\\\":\\\"0.00\\\",\\\"AmendmentAccumulatedAmount\\\":\\\"0.00\\\",\\\"ContractVersion\\\":\\\"\\\",\\\"ContractAmendmentDocumentsList\\\":[],\\\"LinkTask\\\":\\\"\\\",\\\"ActionRole\\\":\\\"\\\",\\\"ActionTaken\\\":\\\"\\\",\\\"ActionUserFullName\\\":\\\"\\\",\\\"WorkflowComments\\\":[{\\\"CommentText\\\":\\\"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec feugiat dui orci, vel mattis dui dignissim quis. Curabitur at.\\\"},{\\\"CommentText\\\":\\\"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec feugiat dui orci, vel mattis dui dignissim quis. Curabitur at.\\\"}]}\"},\"InstAcronym\":\"PN-OER\"}"
}
}
However the field “Detalles” is transformed into a null field:
Can somebody give some suggestions from your experience in this subject?