猿问

.toArray 不工作

我在数据库中有 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 个产品


翻阅古今
浏览 178回答 2
2回答

守着一只汪

使用承诺而不是使用回调试试这个:Products.find().then(products => {  res.send({ products })}).catch(err => {  res.send({ err })})它应该检索所有产品,而不仅仅是 20如果它只检索 20,请使用 .count() 方法检查您有多少

慕少森

您应该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
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答