Mongodb在排序时首先返回大写字符串

Bib*_*bin 7 sorting mongodb

当我尝试对字符串字段(此处Title)进行排序时,排序不按预期工作.请看下面:

db.SomeCollection.find().limit(50).sort({ "Title" : -1 });
Run Code Online (Sandbox Code Playgroud)

实际结果订单

  • "标题":"geog.3学生书"
  • "标题":"geog.2学生书"
  • "标题":"geog.1学生书"
  • "标题":"佐伊和斯威夫特"
  • "标题":"在主题公园拉链"
  • "标题":"在超市拉链"

预期结果订单

  • "标题":"佐伊和斯威夫特"
  • "标题":"在主题公园拉链"
  • "标题":"在超市拉链"
  • "标题":"geog.3学生书"
  • "标题":"geog.2学生书"
  • "标题":"geog.1学生书"

当我尝试按日期字段排序时,会出现同样的问题.

有什么建议?

Mun*_*nim 6

更新:版本3.4具有不区分大小写的索引

这是一个已知的问题.MongoDB不支持字符串的词法排序(JIRA:String词典排序).您应该在应用程序代码中对结果进行排序,或使用数字字段进行排序.它应该可靠地排序日期字段.你能举例说明按日期排序不起作用吗?

  • 如果您有100万条记录并且想要对它们进行排序并返回前10条记录,则这是不可行的. (3认同)