我有一个这样的集合:
{
"_id" : ObjectId("51f4ad560364f5490ccebe26"),
"fiTpcs" : [
"uuid1",
"uuid2",
"uuid3",
"uuid4",
"uuid5"
],
"fiTpcsCnt" : 5
}
fiTpcs的列表很长,以后可以上百个。当我检索我的集合时,我想获得一个有限的 fiTpcs 列表,一次说 20 个,并发出单独的请求以从 fiTpcs 获取后续数据。我只是想确保当我有更多数据时查询不会变慢。有没有办法在mongodb中做到这一点?直到现在,我一直在做
db.userext.find({"_id" : ObjectId("51f4ad560364f5490ccebe26")}).pretty();
这总是让我得到完整的 fiTpcs 数组。我正在使用带有 Spring 的 java 驱动程序,使用 Spring/java 的解决方案也可以。请注意 - 如果解决方案需要 mongo 扫描整个 fiTpcs 数组,然后切片其中的一部分,它并没有真正增加任何性能优势,这不是我想要的。