最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

javascript - Mongoose Variable Sort - Stack Overflow

programmeradmin3浏览0评论

I want to sort based on a variable the user enters. I have something like this:

var find = Record.find(query);

The following works just fine:

find.sort({age: 1});

It sorts by age. I want to do the following:

find.sort({sortField: 1});

I've tried this as well:

find.sort[sortField] = 1;

To no luck. Any way to set sort with a string variable passed in?

I want to sort based on a variable the user enters. I have something like this:

var find = Record.find(query);

The following works just fine:

find.sort({age: 1});

It sorts by age. I want to do the following:

find.sort({sortField: 1});

I've tried this as well:

find.sort[sortField] = 1;

To no luck. Any way to set sort with a string variable passed in?

Share Improve this question asked Oct 16, 2015 at 0:10 KJ3KJ3 5,3184 gold badges37 silver badges54 bronze badges
Add a ment  | 

2 Answers 2

Reset to default 10

Assuming you're using node v4+, you can use the ES6 enhanced literal syntax support for puted property names:

find.sort({[sortField]: 1});

Otherwise you need to create your sort object in a couple steps:

var sort = {};
sort[sortField] = 1;
find.sort(sort);

Figured it out. Can't use the find.sort[sortField] = 1 notation since it's a function, need to do that ahead of time.

    var sort = {};
    sort[sortField] = 1;
    find.sort(sort);
发布评论

评论列表(0)

  1. 暂无评论