【问题标题】:Javascript/Mongo: sort specification itself as a variableJavascript/Mongo:将规范本身作为变量排序
【发布时间】:2021-10-29 06:14:21
【问题描述】:

我想将排序标准本身设置为变量。它似乎不起作用。请帮忙。

什么有效:(Meteor's Blaze 教程中的代码 sn-p)

return TasksCollection.find(hideCompleted ? pendingOnlyFilter : userFilter, {
  sort: { createdAt: -1 },
}).fetch();

但是,我需要将排序顺序本身作为变量实现,如下所示,但不起作用:

sortingOrder = '{ createdAt: -1 }';
return TasksCollection.find(hideCompleted ? pendingOnlyFilter : userFilter, {
  sort: sortingOrder,
}).fetch();

任何帮助将不胜感激。

【问题讨论】:

  • 只需从sortingOrder = { createdAt: -1 } 对象中删除字符串单引号。
  • 这是一个字符串,不是一个对象。
  • 这是javascript中一个非常的基本概念。对象和数组的工作原理是 javascript 中数据结构编程的核心。我强烈建议您了解对象字面量。除了别人提到的你也可以sortingOrder = {}; sortingOrder.createdAt = -1

标签: javascript mongodb sorting mongoose strategy-pattern


【解决方案1】:

你必须传递一个object,而你传递的是string。像这样更改您的代码:

sortingOrder = { createdAt: -1 };
return TasksCollection.find(hideCompleted ? pendingOnlyFilter : userFilter, {
  sort: sortingOrder,
}).fetch();

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-10-08
    • 2012-07-26
    • 2021-08-29
    • 1970-01-01
    • 1970-01-01
    • 2011-07-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多