为了账号安全,请及时绑定邮箱和手机立即绑定

.toArray 不工作

.toArray 不工作

翻阅古今 2021-06-29 13:44:22
我在数据库中有 20 多个产品,我正在尝试显示所有产品,所以我使用了 Product.find({}).toArray(function(err,data){  if(err){      res.send(err)  }  if(data){      res.send(data)  } }但我收到一个错误TypeError: Product.find(...).toArray is not a function所以我用Product.find({},function(err,products){  if(err){      res.send(err)  }  if(products){      res.send(products)  }})但它只打印出 20 个产品。所以我试过了Product.find({},function(err,products){  if(err){      res.send(err)  }  if(products){      res.send(products)  }}).limit(300)但它仍然打印出 20 个产品
查看完整描述

2 回答

?
守着一只汪

TA贡献1872条经验 获得超3个赞

使用承诺而不是使用回调


试试这个:


Products.find().then(products => {

  res.send({ products })

}).catch(err => {

  res.send({ err })

})

它应该检索所有产品,而不仅仅是 20


如果它只检索 20,请使用 .count() 方法检查您有多少


查看完整回答
反对 回复 2021-07-01
?
慕少森

TA贡献2019条经验 获得超9个赞

您应该limit在toArray-call之前添加选项。此外,我假设您有一个由包含的 mongodb 库设置的默认限制。


此代码示例应为您提供 300 个产品:


Product

 .find({})

 .limit(300)

 .toArray(function(err,data) {

   if (err) {

     res.send(err);

   } else if (data) {

     res.send(data);

   }

)};

有关参考,请参阅mongodb-native #find和/或mongodb-native Cursor


查看完整回答
反对 回复 2021-07-01
  • 2 回答
  • 0 关注
  • 177 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信