繁体   English   中英

如何替换流星集合查询中用于排序的关键字字段?

[英]How to replace the Key for sort field in a meteor collection query?

在下面的代码中,我想将名称键替换为通过参数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});

使SORT工厂构建器在查询之前生成排序条件。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM