【发布时间】:2014-02-13 23:16:54
【问题描述】:
我只是想在 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));
)};
此代码在将limit设置为10000时有效,但是当我设置limit=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”字段上建立了索引?当您尝试按没有索引的字段进行排序并尝试获取大量记录时,在 mongo 命令行中的构建中的 AFAIK 会出现错误。不知道nodejs中是不是这样。
标签: node.js mongodb parsing sorting limit