根据变量对流星集合进行排序?

jth*_*ley 1 mongodb meteor

这有效:

 return articles.find({}, {sort: {'published': -1}, limit: 1});
Run Code Online (Sandbox Code Playgroud)

这不是:

sort_order = 'published';
return articles.find({}, {sort: {sort_order: -1}, limit: 1});
Run Code Online (Sandbox Code Playgroud)

有办法做到这一点吗?

Aks*_*hat 6

当使用{}定义形式定义时,JSON不能将键值对中的第一个值用作变量.但是,您可以使用这种方式:

var sort_order = {};

sort_order["published"] = -1;

return articles.find({}, {sort: sort_order, limit: 1});
Run Code Online (Sandbox Code Playgroud)

这应该让你最终查询:

return articles.find({}, {sort: {published:-1}, limit: 1});
Run Code Online (Sandbox Code Playgroud)