在尝试获得完整的结果集(约 40 个结果)时,我实际上面临一个问题。每个对象都包含大约 260 个子引用和其他对象。
实际上,当我尝试显示 30 个对象时,它可以工作。但是当我尝试使用 40 时,它没有。每个对象都是正确的,没有数据是无效的。
似乎我已经超过了 mongoDb 或默认 Mongoskin(我用来访问 mongodb 的库)授权的最大大小(4 或 16 mb),并且 mongodb 关闭了与我的应用程序的池连接。
那么如何增加最大文档大小或最大结果集大小以显示我需要的所有内容?
编辑:我的收藏大小是 8Mb(来自 MongoVue 信息)
编辑 2: 我用来获取数据的代码:
db.collection("roadmap").find({}).toArray()
我的数据库的屏幕截图:
编辑 3:我改变了利用数据的方式
@em.collection('roadmap').find({}, (err, resultCursor)=>
nextItem = (err, item)=>
if !item)
return
console.log item
resultCursor.nextObject(nextItem)
resultCursor.nextObject(nextItem)
)
它也不起作用,请求被执行,然后,我失去了我的 mongodb 连接。如果我在我的应用程序中评论这段代码,一切都很好。
编辑 4:完整的堆栈跟踪,这更像是一个库问题而不是数据库问题
Error: parseError occured
at [object Object].<anonymous> (/var/www/xxxxxx/Ws/node_modules/mongoskin/node_modules/mongodb/lib/mongodb/connection/connection_pool.js:192:34)
at [object Object].emit (events.js:98:17)
at Socket.<anonymous> (/var/www/xxxxxx/Ws/node_modules/mongoskin/node_modules/mongodb/lib/mongodb/connection/connection.js:393:20)
at Socket.emit (events.js:95:17)
at Socket.<anonymous> (_stream_readable.js:764:14)
at Socket.emit (events.js:92:17)
at emitReadable_ (_stream_readable.js:426:10)
at emitReadable (_stream_readable.js:422:5)
at readableAddChunk (_stream_readable.js:165:9)
at Socket.Readable.push (_stream_readable.js:127:10)