Mongoskin抛出MongoError:连接按应用程序关闭]名称:'MongoError'

时间:2015-06-29 14:10:44

标签: node.js mongodb mongoskin

Mongoskin NPM包用于远程Mongodb数据库中的Node.js到find文档。但是,执行简单的find操作会抛出MongoError。插入文件很好。出了什么问题?

使用节点v0.12.0,mongoskin v1.4.13,mongodb v3.0.4。

代码

var mongo = require('mongoskin')
var db = mongo.db('mongodb://domain.com:27017/dbname', {native_parser: true})

db.collection('animals').find({}, function(err, result) {
    result.each(function(err, doc) {
        console.log(err)
    })

    db.close()
})

这会引发错误:

{ [MongoError: Connection Closed By Application] name: 'MongoError' }

更新

db.collection('animals').find({}, function(err, result) {
    if(err)
        console.log(err)

    console.log('result.length: ' + result.length)

    result.each(function(index, doc) {
        console.log(index)

        if(index == result.length -1)
            db.close()
    })
})

返回

result.length: undefined
null
null

1 个答案:

答案 0 :(得分:1)

我相信您的计划connectioneach完成工作之前即将结束。尝试类似:

db.collection('animals').find({}, function(err, result) {
    result.each(function(index, doc) {
        console.log(index)
        //if each finish then db.close()
        if(index == result.length-1)
           db.close()
    })
})