翻閱古今
2021-06-29 13:44:22
我在數(shù)據(jù)庫中有 20 多個產(chǎn)品,我正在嘗試顯示所有產(chǎn)品,所以我使用了 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 個產(chǎn)品。所以我試過了Product.find({},function(err,products){ if(err){ res.send(err) } if(products){ res.send(products) }}).limit(300)但它仍然打印出 20 個產(chǎn)品
2 回答

守著一只汪
TA貢獻1872條經(jīng)驗 獲得超4個贊
使用承諾而不是使用回調
試試這個:
Products.find().then(products => {
res.send({ products })
}).catch(err => {
res.send({ err })
})
它應該檢索所有產(chǎn)品,而不僅僅是 20
如果它只檢索 20,請使用 .count() 方法檢查您有多少

慕少森
TA貢獻2019條經(jīng)驗 獲得超9個贊
您應該limit在toArray-call之前添加選項。此外,我假設您有一個由包含的 mongodb 庫設置的默認限制。
此代碼示例應為您提供 300 個產(chǎn)品:
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
提交
取消