排序优先级

时间:2015-08-02 19:34:11

标签: mongodb sorting meteor

我在MongoDB数据库中有一个集合Answers,我根据每个答案的upvotes数量对文档进行排序。

Answers.find({}, {sort: {voteCount: -1}})

然而,其中一些答案是由教师发布的,应该在"常规"之前进行排序。答案。教师发布的答案有一个字段isInstructor: true。 如何检索我的答案列表,以教师的方式排序?答案是第一个(按voteCounts排序)然后,在那之后,正常答案(仍按voteCounts排序)?

2 个答案:

答案 0 :(得分:1)

使用光标的sort()方法,按顺序列出要排序的字段。 EG

db.answers.find({}).sort(isInstructor: -1, voteCount: -1})

参考:MongoDB Manual

答案 1 :(得分:1)

正如我在评论中提到的那样,您必须按<Require>按降序排序answers,按降序排序isInstructor。另请注意,.find的第二个参数是投影文档。因此,要对文档进行排序,您需要使用cursor.sort方法。

voteCount