我的数据库中有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种产品
答案 0 :(得分:0)
使用承诺而不是使用回调
尝试一下:
Products.find().then(products => {
res.send({ products })
}).catch(err => {
res.send({ err })
})
它应该检索所有产品,而不是20
如果仅检索20个,请使用.count()方法检查您有多少
答案 1 :(得分:0)
您应该在limit
呼叫之前添加诸如toArray
之类的选项。另外,我假设您所包含的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