我浏览了各种示例,但未能找到我要查找的内容。我想要的是通过 _id 搜索特定文档并使用一个查询在集合之间跳过多次?或者一些对我来说足够快的替代方案。
以下查询将跳过第一个并提前返回第二个:
db.posts.find( { "_id" : 1 }, { comments: { $slice: [ 1, 1 ] } } )
那将是skip 0, return 1
,并将其余部分从结果中排除..
但是,如果有 10000 条评论并且我想使用相同的模式,但返回这样的数组值,该怎么办:
skip 0, return 1, skip 2, return 3, skip 4, return 5
所以这将返回集合,其中评论的大小为 5000,因为其中一半被跳过。这可能吗?我应用了像 10000 这样的大数字,因为我担心使用多个查询来应用它不会提高性能......(此处显示的示例:多个查询来完成类似的事情)。谢谢!