【发布时间】:2019-03-19 08:14:45
【问题描述】:
我有两个字段:
- 日期 (
ISODate) - 值(它是
number- 但也可以是undefined)
我想以特定方式对它们进行排序。
首先 - 按value 排序。如果存在(不是undefined),让他们先来。如果value 未定义,则将这些对象推到最后。
其次 - 按date 排序。因此,此时,我们将按value 对所有内容进行排序。但现在我想按date 排序。
预期结果:
[
{
value: 1,
date: today, // ofc it's a date but just to represent the case
},
{
value: 2,
date: yesterday,
},
{
value: undefined,
date: today,
},
{
value: undefined,
date: yesterday,
}
]
当前解决方案:
.sort({
value: -1,
date: -1
});
但是在某些情况下它会失败,不幸的是我无法检测到为什么它有时会以错误的方式对其进行排序。但它确实......
提前谢谢你
【问题讨论】:
-
说“它在某些方面失败了”是模糊和无益的。预期的行为是什么,您看到的是什么?请描述并提供一个简单的例子。
标签: javascript arrays node.js mongodb mongoose