当前位置: 首页 > 知识库问答 >
问题:

如何使用MongoDB API从Cosmos DB获得N个随机文档?

彭鹭洋
2023-03-14

我正在使用 azure cosmos DB 充当 MongoDB 版本 4.0.0.我需要使用蒙哥数据库 API 从 Azure Cosmos DB 获取 N 个随机文档。我尝试过使用$sample运算符,但每次我查询时,它都会以相同的顺序为我提供文档。

db.collectionName.aggregate([{$sample: {size: 1}}])

无论我运行这个查询多少次,我都会从集合中得到相同的文档。

共有1个答案

康言
2023-03-14

我找不到任何关于$sample如何执行的文档,但我认为我们遇到的问题可能与这里提到的有关。这意味着如果某些条件不满足,它将得到结果并对它们进行排序,然后返回项目的大小计数。所以我们得到的总是一样的。我会尽量找到更多的细节,任何进一步的发现将更新。

 类似资料:
  • 问题内容: 我正在研究“如何从javascript中的数组随机访问元素”。我发现了许多与此有关的链接。 问题: 但是在这种情况下,我们只能从数组中选择一项,如果我们想要多个元素,那么我们将如何实现这一点,所以请仅从该语句中获取一个数组中的多个元素。 问题答案: 尝试以下无损快速功能:

  • 如何从MongoDB中的集合中随机获取单个文档。 我如何修复代码。 我收到错误:未定义不是函数 --------------------------------------好的。我修复了----------------------------

  • 在L-4中,它很简单: 但现在在L-5中,这篇文章中描述的没有一种方法是有效的:Laravel-雄辩或流畅的随机行 我的视图文件变为空白。

  • 从 array 中获取 n 个唯一键随机元素。 使用Fisher-Yates算法 对数组进行打乱。 使用 Array.slice() 获取第一个 n 元素。 省略第二个参数,n 从数组中随机取得 1 个元素。 const sampleSize = ([...arr], n = 1) => { let m = arr.length; while (m) { const i = Mat

  • 问题内容: 我不知道如何从条件实例中获取n个随机行: 那呢 我找不到使用Criteria API的任何文档 这是否意味着我应该改用HQL? 谢谢! 编辑:我通过以下方式获得行数: 如何获取索引介于0和max之间的n个随机行?再次感谢! 问题答案: 实际上,使用Criteria进行一些调整是可能的。方法如下: 任何Restrictions.sqlRestriction将添加关键字“和”;为了消除其影