0

我的代码如下所示:

#!/bin/env node

var collection = require('mongojs')('test').collection('test');

collection.findOne({}, function(err, doc) {
    console.log(err, doc);
});

当我运行这个脚本时,它显示:

$ node test.js
null null

但剧本并没有退出。我需要“CTRL+C”退出它。任何机构都知道如何解决它?

[更新]

我发现如果我使用原生 mongodb 而不是 mongojs,就没有问题:

#!/bin/env node

var client = require('mongodb');

client.connect('mongodb://127.0.0.1:27017/hatch', function(err, db) {
    if (err) throw err;
    var collection = db.collection('documents');

    collection.find().toArray(function(err, results) {
        console.dir(results);
        db.close();
    });
});

那么这是一个mongojs问题吗?

4

1 回答 1

6

您必须关闭数据库连接

var mongojs = require('mongojs');
var db = mongojs('test');
var collection = db.collection('test');

collection.findOne({}, function(err, doc) {
    console.log(err, doc);
    db.close();
});
于 2013-10-31T10:10:32.710 回答