我有架构User
和Thread
。它们通过名为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}}属性?