Javascript/Mongo: sort specification itself as a variable

Viewed 66

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.

1 Answers

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();
Related