$sample stage could not find a non-duplicate document after 100 while using a random cursor

栏目: mongoose教程 发布时间:2022-02-08

前言

www.tides.cn 项目有一段代码,从某个集合中随机取 10 条数据,当该集合的数据小于等于 100 条时,一切正常。但是当该集合的数据大于 100 条时,就会报下述错误信息:

MongoError in /
$sample stage could not find a non-duplicate document after 100 while using a random cursor. This is likely a sporadic failure, please try again. (code: 28799)

随机取 10 条数据的代码片段

tags.aggregate([{
  $sample: {
    10,
  },
}]);

解决方案

目前还没找到有效的解决方法,暂时注释掉报错的这段代码(暂时这段代码可有可无)。

看到有些网友说在自己的 mac 上不报错,上线后 linux 服务器报错了,其实这只是表象,根源是数据量不一致引起的。

本文地址:https://www.tides.cn/p_mongoose-sample-stage-could-not-find-a-non-duplicate-document-after-100-while-using-a-random-cursor

标签: MongoError