【发布时间】:2020-03-03 21:47:16
【问题描述】:
假设我有以下收藏
Collection = [
{name: 'Ann'},
{name: 'Bob'},
{name: 'Cecil'},
{name: 'KEY: John'},
{name: 'KEY: Cecil'},
{name: 'Susan'},
{name: 'Zack'}
];
有什么方法可以在MongoDB 中使用sort,这样我就可以让所有Documents 的name 字段以KEY: 开头,然后首先返回?然后我希望将 Collection 的其余部分按当前状态排序。
即
Collection = [
{name: 'KEY: John'},
{name: 'KEY: Cecil'},
{name: 'Ann'},
{name: 'Bob'},
{name: 'Cecil'},
{name: 'Susan'},
{name: 'Zack'}
];
据我所知,无法在 MongoDB 中进行自定义排序。如果没有,是否有一种简单的方法可以在 JS 中使用 underscore 或其他一些库来执行此操作。我更喜欢这里接受的答案Sort an array to have specific items first in the array 必须构建另一个数组。
有什么想法吗?
【问题讨论】:
-
也许是带有 array.sort 的自定义比较函数?
标签: javascript arrays mongodb sorting