ber*_*tie 2 mongodb mongodb-java spring-data
我查看了一个与我的嵌入式分页情况相关的旧问题.尽管带有切片的嵌入式分页工作正常,但总页面解决方案仍然缺失,我想知道是否有可能在服务器端获得注释的总大小.
有没有办法查询或统计服务器上的嵌入式阵列的大小,而无需将整个文档提取到我的应用程序并手动计数?
我不介意为此做2个查询,1个用于分页评论,1个用于获取评论总数.如果我可以在一个查询中执行此操作,那将是惊人的.
顺便说一下,我正在使用java驱动程序和spring-data mongodb.
请分享你的想法.谢谢 !
获得嵌入式文档总数的最佳/最快方法是创建一个附加字段,并在每次更新/插入后重新计算计数.文件将是这样的
{
_id: 1,
comments: [],
commentsCount: 5
}
Run Code Online (Sandbox Code Playgroud)
那么你可以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})
Run Code Online (Sandbox Code Playgroud)
实际上没有其他方法可以计算嵌入文档的总数(我不是在讨论m/r,因为它对于实时请求来说很慢)
| 归档时间: |
|
| 查看次数: |
1190 次 |
| 最近记录: |