首页 > 解决方案 > Mongoose / typegoose 根据开始和结束索引获取数组

问题描述

有没有办法在 mongo db 级别获取数组切片?我正在尝试做类似以下的事情:Model.find({filter: option}, startindex, endindex)。目前我发现的唯一选择是执行以下操作:

let result = await Model.find({filter: option});
returh result.slice(startIndex, endIndex)

不幸的是,这不起作用,因为我每次都必须提取完整记录。如果我能在 mongo 级别做到这一点,那就太好了。谢谢您的帮助!

更新:经过进一步研究,我找到了一个可能的解决方案:

Model.find({filter: option}).skip(skip).limit(limit);

似乎使用这种方法,我可以在 mongo db 中对文档数组进行切片。如果您有任何其他想法,请告诉我。谢谢!

标签: mongodbtypescriptmongoosemongodb-querytypegoose

解决方案


据我所知,没有办法从文档中获取数组的一部分,但是有select

PS:skip跳过查询找到的第一个文档,并limit限制查询返回的数量


推荐阅读