因此,我传入了一个动态变量,该变量是我想要排序的字段的名称。

假设下面的sortVariable可以等于“价格”,“createdAt”,“名称”等。这不起作用,我该怎么做?

function findStuff (sortVariable) {
    var postings = Postings.find({
      "device.name": filter.exactDevice,
    }, {
      sort: {
        sortVariable: 1
      }
    });
    return postings;
}

最佳答案

您不能将变量用作对象文字中的键。试试看:

var findStuff = function(sortVariable) {
  var sort = {};
  sort[sortVariable] = 1;

  return Postings.find({
    'device.name': filter.exactDevice
  }, {
    sort: sort
  });
};

关于mongodb - Mongo按动态字段排序,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22315877/

10-11 23:49