我只是想在mongoDB中使用排序和限制,但是我得到一個parseError,只有當我輸入的限制是很大的。設定上限爲10000時使用限制和排序MongoDB parseError
handCollection = db.collection('hands');
handCollection.count(function(err,res){numHands=res;console.log(numHands)}) //logs 12542
limit=10000
query= query.sort({gameNum:-1}).limit(limit)
query.toArray(function(er,hands){
if (er)
throw er
console.log('Hands Sent:'+hands.length)
res.send(JSON.stringify(hands));
)};
此代碼的工作,但是當我設限= 12000,我會收到以下錯誤:
Error: parseError occured
at null.<anonymous> (C:\wamp\www\poker-tell\server\node_modules\mongodb\lib\mongodb\connec
tion\connection_pool.js:182:34)
at EventEmitter.emit (events.js:98:17)
at Socket.<anonymous> (C:\wamp\www\poker-tell\server\node_modules\mongodb\lib\mongodb\conn
ection\connection.js:389:20)
at Socket.EventEmitter.emit (events.js:95:17)
at Socket.<anonymous> (_stream_readable.js:746:14)
at Socket.EventEmitter.emit (events.js:92:17)
at emitReadable_ (_stream_readable.js:408:10)
at emitReadable (_stream_readable.js:404:5)
at readableAddChunk (_stream_readable.js:165:9)
at Socket.Readable.push (_stream_readable.js:127:10)
這是什麼意思和我怎麼能解決呢?
您是否在字段「gameNum」上建立索引? AFAIK在mongo命令行中構建時,如果嘗試按沒有索引的字段進行排序並嘗試獲取大量記錄,則會出現錯誤。不知道nodejs是否屬於這種情況。 – yaoxing