1

在我的应用程序中,我使用 node.js 和 mongoDB。下面是我的示例代码。

var mongodb = require('mongodb');
var server = new mongodb.Server("localhost", 27017, {});

new mongodb.Db('test', server, {w: 1}).open(function (error, client) {
    if (error) throw error;
    var collection = new mongodb.Collection(client, 'test_collection');
    collection.insert({hello: 'world'}, {safe:true},
    function(err, objects) {
        if(!err){
            console.log('Data inserted successfully.');
        }
        if (err && err.message.indexOf('E11000 ') !== -1) {
            // this _id was already inserted in the database
        }
    });
});   

现在我需要 mongoDB 实例到我的应用程序中的其他模块。我该怎么做。

4

1 回答 1

0

一种简单的方法,如果我们假设您发布的代码在 app.js 中,您可以将第 2 行重写为:

var server = exports.db = new mongodb.Server("localhost", 27017, {});

在需要访问实例的模块中,只需编写:

require('app').db

一种更常见的方法可能是将共享内容放在 settings.js 文件中,或者使用专用的数据库接口模块。

更新

要访问打开的客户端,您需要以同样的方式公开客户端:

new mongodb.Db('test', server, {w: 1}).open(function (error, client) {
  exports.client = client;
  // ...
});   
于 2013-03-18T08:24:31.960 回答