Mongoose - 如果它是SUM,如何按upvote计数排序?

时间:2018-02-25 21:18:53

标签: node.js mongodb mongoose

我有架构UserThread。它们通过名为Vote

的数据透视架构相关联
const VoteSchema = new Schema({
  user: {
    type: ObjectId,
    ref: 'User',
    required: true,
  },
  thread: {
    type: ObjectId,
    ref: 'User',
    required: true,
  },
  value: {
    type: Number,
    required: true,
    validate: value => Promise.resolve(value === 1 || value === -1),
  },
});

毋庸置疑,投票收集将引用线程,投票的用户以及1或-1的投票值。

Thread模式还引用了投票:

...
votes: [{
  type: ObjectId,
  ref: 'Vote',
}],

到目前为止,我已经阅读了Thread.find().populate('votes'),这将使投票属性包含文档而不是ID,但我找不到如何进行SUM操作并按该值排序。

如何根据Thread.find()SUM()进行排序 相关Vote的{​​{1}}属性?

0 个答案:

没有答案