我正在构建my first Node.js application,我遇到了MongoDB的问题。我正在使用MongoSkin驱动程序。
一旦我开始申请,一切都很好。我可以坐下来玩玩具一小时,它会继续工作。但是,如果我让它静置几分钟没有任何活动,那么下一个请求将导致错误:
错误:连接已关闭 在Server.connect.connectionPool.on.server._serverState(X:\ Code \ CodeTunnel \ node_modules \ mongoskin \ node_modules \ mongodb \ lib \ mongodb \ connection \ server.js:520:35) 在EventEmitter.emit(events.js:126:20) at connection.on._self._poolState(X:\ Code \ CodeTunnel \ node_modules \ mongoskin \ node_modules \ mongodb \ lib \ mongodb \ connection \ connection_pool.js:109:15) 在EventEmitter.emit(events.js:99:17) 在Socket.closeHandler(X:\ Code \ CodeTunnel \ node_modules \ mongoskin \ node_modules \ mongodb \ lib \ mongodb \ connection \ connection.js:427:12) 在Socket.EventEmitter.emit(events.js:96:17) 在Socket._destroy.destroyed(net.js:358:10) at process.startup.processNextTick.process._tickCallback(node.js:244:9)
我已尝试将auto_reconnect=true
添加到mongoskin documentation建议的连接字符串中,但这没有帮助。
答案 0 :(得分:1)
我最终想出了这个。解决方案相当简单。
......或其他。
我只有MongoSkin的问题,在最后花时间学习Mongoose之后我还是喜欢它。模型范例很棒,特别是因为每个模型都有自己的持久化方法来保存对文档的更改。使用promises创建流畅的查询API是非常强大的,并且比本机MongoDB驱动程序提供的标准回调地狱更容易阅读。 MongoSkin只是略微减轻了回调地狱,而且阅读更复杂的查询仍然非常困难。
编辑:Downvote .....真的吗?什么想法通过你的头先生downvote? “猫鼬不是我喜欢的ORM所以这是一个downvote。”?