gpt4 book ai didi

mongodb - mongoose - 按数组长度排序

转载 作者:可可西里 更新时间:2023-11-01 09:11:01 29 4
gpt4 key购买 nike

我有这个模式

var PostSchema = new Schema({
title: {type: String, trim: true}
, description: {type: String, trim: true}
, votes: [{ type: Schema.ObjectId, ref: 'User' }]
})

我想根据投票对帖子进行排序,即我需要按数组长度排序。

按常规方法试了,还是不行

PostSchema.statics.trending = function (cb) {
return this.find().sort('votes', -1).limit(5).exec(cb)
}

有什么帮助吗?

我使用的 mongoose 版本是 2.7.2

最佳答案

您不能直接这样做。为了能够对数组长度进行排序,您必须在单独的字段(votes_count 或其他)中维护它,并在将元素插入/拉出 votes 时更新它>.

然后您对 votes_count 字段进行排序。如果你也索引它,查询会更快。

关于mongodb - mongoose - 按数组长度排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11604075/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com