mongoose的count使用

发布于 2022-09-07 21:41:13 字数 207 浏览 12 评论 0

问题描述

在nodejs中使用mongoose

const query=myModel.find({name:'xiaoming'});
const total=query.count();
const data=query.skip(20).limit(10);

为什么这样写会报错?
正确的写法应该怎样写?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

若言繁花未落 2022-09-14 21:41:13

查了下文档,应该是因为你这是两次查询,一次count查询,一次skip加limit查询,所以你的query查询永远都是最先指定的count查询,所以你第二次的结果其实就是count返回的结果,所以是number类型的数字。

虽然不知道你为啥又不写回调,又不走Promise形式也能得到结果。我也就这么写了~

分两次查询就行了,因为你第二次查询是skip加limit,所以应该没办法不走2次查询又能得出总文档数又能得出分页查询得结果。

const query1 = myModel.find({name:'xiaoming'});
const query2 = myModel.find({name:'xiaoming'});
const total = await query1.count().exec(); //所有name为xiaoming的文档数量
const data = await query2.skip(20).limit(10).exec();
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文