MongoDB-使用示例时保留顺序

MongoDB-使用示例时保留顺序,mongodb,Mongodb,我要分页和取样 我有一个客户端,它以随机顺序请求实体。 我想实现一个新特性-分页。 我能想到的唯一方法是使用match来确保要服务的实体没有已经服务的实体的ID,但这听起来像是一个昂贵的操作 有没有一种方法可以将集合中实体的顺序随机化,并以某种方式保存?这样我就可以在上面使用skip了?使用和的组合怎么样 结果和分页的随机顺序?这听起来有点不合逻辑。@Neodan可能是一个保留顺序的临时索引?问题是,提供的文档集对每个客户都是唯一的。我认为每次创建一个集合都是一项昂贵的操作。我认为状态应该存储在

我要分页和取样

我有一个客户端,它以随机顺序请求实体。 我想实现一个新特性-分页。 我能想到的唯一方法是使用match来确保要服务的实体没有已经服务的实体的ID,但这听起来像是一个昂贵的操作


有没有一种方法可以将集合中实体的顺序随机化,并以某种方式保存?这样我就可以在上面使用skip了?

使用和的组合怎么样


结果和分页的随机顺序?这听起来有点不合逻辑。@Neodan可能是一个保留顺序的临时索引?问题是,提供的文档集对每个客户都是唯一的。我认为每次创建一个集合都是一项昂贵的操作。我认为状态应该存储在客户端,而不是服务器端。因此,我所采用的方法是拥有客户机已经收到的文档的ID数组,然后使用$nin来确保子序列页面不提供该数组中ID为的文档。
db.collection.aggregate({
    $sample: { size: 300 } // get 300 random documents
}, {
    $out: "temp" // write results to a new "temp" collection
})