我在数据库中有 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() 方法检查您有多少
慕少森
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
添加回答
举报
0/150
提交
取消