gpt4 book ai didi

node.js - 通过 Mongoose 查找限制所选数组的长度

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

这里我有一个文档,其中包含一个数组。看起来像:

var UserSchema = new mongoose.Schema({
activities:[{
action:String,
time:Number,
extraInfo:{}
}]
})

现在我想选择这个数组,

UserModel
.findById(user._id)
.select('activities')
.lean()
.exec((err,user)=>{....})

但我只需要最新的(例如 20 条)事件记录。

有什么办法可以限制选中数组的长度吗?

最佳答案

您可以使用 MongoDB $slice 运算符:https://docs.mongodb.org/manual/reference/operator/projection/slice/#slice-projection

Mongoose 有一个帮助函数来实现这个: http://mongoosejs.com/docs/api.html#query_Query-slice

所以,你的例子变成了这样:

UserModel
.findById(user._id)
.slice('activities', 20)
.select('activities')
.lean()
.exec((err,user)=>{....})

关于node.js - 通过 Mongoose 查找限制所选数组的长度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36514089/

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