我在MongoDB数据库中有一个集合Answers
,我根据每个答案的upvotes数量对文档进行排序。
Answers.find({}, {sort: {voteCount: -1}})
然而,其中一些答案是由教师发布的,应该在"常规"之前进行排序。答案。教师发布的答案有一个字段isInstructor: true
。
如何检索我的答案列表,以教师的方式排序?答案是第一个(按voteCounts
排序)然后,在那之后,正常答案(仍按voteCounts
排序)?
答案 0 :(得分:1)
使用光标的sort()方法,按顺序列出要排序的字段。 EG
db.answers.find({}).sort(isInstructor: -1, voteCount: -1})
答案 1 :(得分:1)
正如我在评论中提到的那样,您必须按<Require>
按降序排序answers
,按降序排序isInstructor
。另请注意,.find
的第二个参数是投影文档。因此,要对文档进行排序,您需要使用cursor.sort
方法。
voteCount