gpt4 book ai didi

mongodb - 在mongodb中实现带总页数的嵌入式分页

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

我已经 checkout an older question这与我的嵌入式分页情况有关。虽然带有切片的嵌入式分页工作正常,但仍然缺少总页数解决方案,我想知道是否可以在服务器端获取评论的总大小。

有没有一种方法可以查询或计算服务器上嵌入式数组的大小,而无需将整个文档提取到我的应用程序并手动计算?

我不介意为此进行 2 次查询,1 次用于分页评论,1 次用于获取评论总数。如果我可以在一个查询中完成此操作,那就太棒了。

顺便说一下,我正在使用 java 驱动程序和 spring-data mongodb。

请分享您的想法。谢谢!

最佳答案

获取嵌入式文档总数的最佳/最快方法是创建一个附加字段并在每次更新/插入后重新计算计数。文档将是这样的

{
_id: 1,
comments: [],
commentsCount: 5
}

然后你可以在做切片时简单地包含 commentsCount 字段:

//this query will include only 10 comments _id and comments count of root document
db.articles.find({}, {comments:{$slice: [20, 10]}, _id:1, commentsCount: 1})

实际上没有其他方法可以计算嵌入文档的总数(我不是在谈论 m/r,因为它对于实时请求来说很慢)

关于mongodb - 在mongodb中实现带总页数的嵌入式分页,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9314056/

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