aggregate()中的skip()应该是存在bug
发布于 7 年前 作者 fkang 4530 次浏览 来自 官方Issues

aggregate().match之后,小程序端第一次skip(0)获取前20条(不会重复),然后第二次获取的时候skip(20)得到的新数据与第一次的20条会有几条数据重复,并且重复的数据,重新编译后还是是重复那几条。

另外的测试也表明有bug问题:考虑到第一次20条不会重复,改为一次10条,加入了limit(10),之后,发现第二次获取的10条也会与第一次的10条存在重复;但原来一次性获取20条是没有重复的。

1 回复

aggregate()之后,加多一步,先根据某个唯一字段,例如_id,排一下序,然后再skip就可以了。

回到顶部