【问题标题】:How can I sort documents using Mongoose.js 3.8.20 and MongoDB 2.6.5?如何使用 Mongoose.js 3.8.20 和 MongoDB 2.6.5 对文档进行排序?
【发布时间】:2015-02-02 04:41:33
【问题描述】:

使用 Mongoose 3.8.20 对文档进行排序不适用于 MongoDB 2.6.5。在以前版本的 MongoDB 中,我可以毫无问题地使用 .sort({ orgName: 'ASC' }),但现在它会导致错误。

database.model.clients.find({ myField: 'value' })
.sort({ orgName: 'ASC' })  // Error: { [MongoError: Can't canonicalize query: BadValue bad sort specification] name: 'MongoError' }
.sort({ orgName: 1 })      // Sorting is ignored.
.sort('orgName')           // Sorting is ignored.
.exec(function (err, docs) {
  
  console.log(err);  
  
});

如何对文档进行排序?

【问题讨论】:

  • 在第一种情况下,您应该使用 asc no ASC,但后两种似乎应该可以工作......奇怪......
  • 小写 asc 已解决该错误 - 如果您发布答案,我将接受它。结果证明第二/第三个方法有效,但另一段代码掩盖了结果。
  • 我已经更新了我的答案,也许我的答案对某人也有帮助......

标签: javascript node.js mongodb sorting mongoose


【解决方案1】:

试试这个

database.model.clients.find({ myField: 'value' }).sort({ orgName: 'asc' })

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-11
    相关资源
    最近更新 更多