I want to set a sorting criteria itself as a variable. It doesn't seem to work. Please help.
What works: (code snippet from Meteor's Blaze tutorial)
return TasksCollection.find(hideCompleted ? pendingOnlyFilter : userFilter, {
sort: { createdAt: -1 },
}).fetch();
However, I need to implement sorting order itself as a variable like below but doesn't work:
sortingOrder = '{ createdAt: -1 }';
return TasksCollection.find(hideCompleted ? pendingOnlyFilter : userFilter, {
sort: sortingOrder,
}).fetch();
Any help will be deeply appreciated.
You have to pass an object, and you are passing the string. Change your code like this:
sortingOrder = { createdAt: -1 };
return TasksCollection.find(hideCompleted ? pendingOnlyFilter : userFilter, {
sort: sortingOrder,
}).fetch();