使用node.js创建mongodb连接运行时

时间:2015-03-05 09:51:51

标签: node.js

我的node.js应用程序有一个mongodb(db1),它有用户详细信息。每个用户都有不同的db(mongodb)。所以我在db1中维护所有数据库信息。

这里我的问题是基于用户我需要在运行时打开用户数据库连接并在用户数据库中执行某些操作。

请帮我怎么做。

1 个答案:

答案 0 :(得分:0)

我的app.js是。

var mongoose = require("mongoose"); 
var conn = mongoose.createConnection('mongodb://localhost/testA');
var conn2 = mongoose.createConnection('mongodb://localhost/testB');

var modelConfig = require('./api/model/action.model');

modelConfig.dynamicModel(conn, function (model) {
    model.create({name: 'testA', description: 'description A'}, function (err, data) {
        console.log("data: " + data);
        console.log("err: " + err);
    });
});

modelConfig.dynamicModel(conn2, function (model) {
    model.create({name: 'testB', description: 'description B'}, function (err, data) {
        console.log("data: " + data);
        console.log("err: " + err);
    });
});

我的模型文件看起来像波纹管。

'use strict';
var restful = require("node-restful");
var mongoose = restful.mongoose;
var modelConfig = require('../schema/action.schema');
var actionSchema = new mongoose.Schema(modelConfig.schema);

module.exports.dynamicModel = function(con,cb){
    var action = con.model(modelConfig.title, actionSchema);
    cb(action);
};

我的架构文件看起来像吼叫。

'use strict';    
var restful = require("node-restful");
var mongoose = restful.mongoose;

module.exports = {
    title: "action",   //mongo db collection name
    schema: {
        name: { type: String, required: true, unique: true},
        description: { type: String, required: false} 
    }
}

安装node-restful,mongoose和mongodb包 和节点应用

它会将重新编码保存在testA和testB数据库中。