首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >.toArray不工作

.toArray不工作
EN

Stack Overflow用户
提问于 2019-06-13 19:37:30
回答 2查看 31关注 0票数 0

我在数据库上有20多个产品,我试图显示所有这些产品,所以我使用了

代码语言:javascript
复制
 Product.find({}).toArray(function(err,data){
  if(err){
      res.send(err)
  }
  if(data){
      res.send(data)
  }
 }

但我犯了个错误

代码语言:javascript
复制
TypeError: Product.find(...).toArray is not a function

所以我用了

代码语言:javascript
复制
Product.find({},function(err,products){
  if(err){
      res.send(err)
  }
  if(products){
      res.send(products)
  }
})

但它只印出20种产品。所以我试着

代码语言:javascript
复制
Product.find({},function(err,products){
  if(err){
      res.send(err)
  }
  if(products){
      res.send(products)
  }
}).limit(300)

但它仍然打印出20种产品

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-06-13 19:52:46

使用承诺而不是使用回调

试试这个:

代码语言:javascript
复制
Products.find().then(products => {
  res.send({ products })
}).catch(err => {
  res.send({ err })
})

它应该检索所有的产品,而不是只检索20个

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

票数 0
EN

Stack Overflow用户

发布于 2019-06-13 20:36:35

您应该在limit -call之前添加类似-call的选项。此外,我假设包含的mongodb库设置了默认限制。

此代码示例将给您300个产品:

代码语言:javascript
复制
Product
 .find({})
 .limit(300)
 .toArray(function(err,data) {
   if (err) {
     res.send(err);
   } else if (data) {
     res.send(data);
   }
)};

有关参考资料,请参阅mongodb-本机#查找和/或mongodb-原生游标

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56587521

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档