這是我第一次問在計算器上的一個問題,我爲它或多或少重複或者如果我發佈任何內容錯誤道歉。我試圖遵循Random record from MongoDB中的代碼,但仍然努力從Node中的MongoDB中檢索4條隨機記錄。隨機記錄從MongoDB的
在蒙戈外殼,我可以成功獲取4個隨機記錄本:
db.reccs.find({ genre: { $in: ['fantasy']} }).limit(4).skip(Math.random() * db.reccs.count({ genre: { $in: req.query.test} }))
然而,在我的Node.js server.js文件,該代碼返回任何錯誤和前4個記錄發現,而不是一個隨機的4:
app.get('/comics', function(req, res) {
var comics = db.collection('reccs').find({ genre: { $in: req.query.test} }).limit(4).skip(Math.random() * db.collection('reccs').count({ genre: { $in: req.query.test} })).toArray(function(error, comics) {
if (error) {console.dir(error+"error!")}
res.send(comics)
}) })
我完全難倒,所以我會很感激,爲什麼這部作品在蒙戈外殼,但沒有任何server.js想法。謝謝!
編輯 - 我相信這問題是不同的,因爲它不是關於蒙戈外殼,但Node.js的 - 在鏈接的問題的解決方案並絕對是殼牌在Node.js的工作,只是不
編輯2 - 一旦有人遇到這個,這個MongoDB count() undefined與評論一起下方應該幫助!
node.js中的MongoDB訪問是異步的,所以您需要提供一個回調函數來獲得結果。只有這樣你才能進行後續的查找查詢。 – JohnnyHK
謝謝@JohnnyHK,搞定了! – Victoria