javascript - 如何替换 meteor 集合查询中排序字段的键?

标签 javascript mongodb meteor

在下面的代码中,我想用通过参数 this.params.sortby 传入的值替换名称键,但我无法让它工作。寻求帮助。

如果:

this.params.sortby=location

我想要这个:

Template.MyTemplate.helpers({
    data: function () {
      return MyCollection.find({},{sort:{name: 1 }});
    }
  });

变成这样:

Template.MyTemplate.helpers({
    data: function () {
      return MyCollection.find({},{sort:{location: 1 }});
    }
  });

最佳答案

您可以使用带有括号表示法的对象来实现动态键命名,如下所示:

var sorter={};
sorter[this.params.sortby]=1;

假设 this.params.sortby 等于 String “age”,您将拥有以下 sorter 对象:

var sorter={
  age:1
};

然后您可以使用它来适本地对您的收藏进行排序:

MyCollection.find({},{sort:sorter});

关于javascript - 如何替换 meteor 集合查询中排序字段的键?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25656151/

相关文章:

javascript - Chart.js 数据结构,如何用数组和随机颜色动态填充它?

javascript - ExtJS Ext.panel.Panel工具顺序

node.js - 虽然我删除了数据,但除非刷新页面,否则看不到它被删除

mongodb - MongoDb 2.2、2.4 和 2.6 中的 Map-Reduce 性能

javascript - 如何不使用JQuery获取标签的左上角?

javascript - 通过 jquery/javascript 动画添加一个类

MongoDB有条件地按特定字段在数组中$addToSet子文档

javascript - 如何混合javascript和meteor来使用youtube api

javascript - 从YouTube Iframe API meteor 包导入YT和YTConfig

node.js - 如何让 Meteor shell 输出更详细?