我想根据用户输入的变量进行排序。我有这样的事情:

var find = Record.find(query);


以下工作正常:

find.sort({age: 1});


它按年龄排序。我要执行以下操作:

find.sort({sortField: 1});


我也尝试过:

find.sort[sortField] = 1;


没运气。用传入的字符串变量设置排序的任何方法吗?

最佳答案

假设您正在使用节点v4 +,则可以对计算的属性名称使用ES6 enhanced literal syntax支持:

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


否则,您需要通过几个步骤来创建排序对象:

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

关于javascript - Mongoose 变量排序,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33160536/

10-16 18:42