我有一个查询:如何使用-number postfix对MongoDB查询进行排序?
ownUnnamedPages = Entries.find({ author : this.userId, title : {$regex: /^unnamed-/ }}, {sort: { title: 1 }}).fetch()
返回下面的数组排序:
[ {
title: 'unnamed-1',
text: '<p>sdaasdasdasd</p>',
tags: [],
_id: 'Wkxxpapm8bbiq59ig',
author: 'AHSwfYgeGmur9oHzu',
visibility: 'public' },
{
title: 'unnamed-10',
text: '',
author: 'AHSwfYgeGmur9oHzu',
visibility: 'public',
_id: 'aDSN2XFjQPh9HPu4c' },
{
title: 'unnamed-2',
text: '<p>kkhjk</p>',
tags: [],
_id: 'iM9FMCsyzehQvYGKj',
author: 'AHSwfYgeGmur9oHzu',
visibility: 'public' },
{
title: 'unnamed-3',
text: '',
tags: [],
_id: 'zK2w9MEQGnwsm3Cqh',
author: 'AHSwfYgeGmur9oHzu',
visibility: 'public' }]
的问题是,它似乎排序的第一个数字字符所以它认为正确的顺序是1, 10,2,3等... 我真正想要的是它对整个数字部分进行排序,因此10将在最后。
我不想通过为数字添加其他数字(如01或001)来做到这一点。
我该怎么做?
我希望mongodb可以将数字排序存储为字符串:( – 2016-09-17 17:08:18