为什么Node.js mongodb驱动程序方法不会调用回调

时间:2013-11-25 02:50:46

标签: javascript node.js mongodb

在下面的示例中,我希望看到终端中console.log语句中的两行但是我只得到一行,因为第二次回调从未被触发。我正在使用来自MacPorts的mongodb(2.4.8_1)和Node.js(0.10.22)以及来自NPM(1.3.15)的官方Node.js mongodb驱动程序(1.3.20)。怎么会发生这种情况?

var mongodb = require('mongodb');

mongodb.MongoClient.connect('mongodb://localhost:27017/test', function (err, db) {
    var query = { _id: new mongodb.ObjectID };

    console.log('connect!');

    db.collection('test').findOne(query, function (err, doc) {

        console.log('findOne!');

    });
});

1 个答案:

答案 0 :(得分:0)

每次运行new mongodb.ObjectID时,它都会创建一个新的ID值 - 然后您可以立即搜索,而无需插入文档。那么如何找到一个文档,从而显示第二个日志行呢?