How to get only latest records from each value of a column from DynamoDB

Viewed 57

I'm trying to create a list with ReactJS and a DynamoDB table that is being retrieved with Datastore.

This is what I get sorting everything from latest:

const fetchTasks = async () => {
    try {
      const taskList = await DataStore.query(workshopTasks, Predicates.ALL, {
        sort: (s) => s.createdAt(SortDirection.DESCENDING), //Sorts from latest
      });
      setTasks(taskList);
    } catch (error) {
      console.log("Error: ", error);
    }
  };
plate || currentWorkshop || createdAt  
FG456 || Dry             || today at 4pm   
FD5RT || Wash            || today at 3pm    
FG456 || Wash            || yesterday at 9pm  
DPR10 || Paint           || yesterday at 6pm  
FD5RT || Park            || yesterday at 10am  

I want to get only the latest record from each Plate column (based in createdAt time). It should be something like this.

plate || currentWorkshop || createdAt  
FG456 || Dry             || today at 4pm 
FD5RT || Wash            || today at 3pm
DPR10 || Paint           || yesterday at 6pm
0 Answers
Related