2016-12-28 4 views
1

私は思考のためのモデルをたくさん持っており、多くのモデルを持っているため、思考と接続のために各ファイルにオブジェクトを作成する必要があります。私は毎回変数をインスタンス化し、したがって、新しい接続を作成しておくと、まだ自分の別のファイルにすべてのこれらのデータモデルを作ることができるように必要がないように、私はそれを作ることができますどのようにデータベースに再接続せずにさまざまなファイルでThink ORMを使用する

var dbconfig = require('../config/config.js')['rethinkdb']; 
var thinky = require('thinky')(dbconfig); 
var User = require('./user.js'); 
var type = thinky.type; 
var r = thinky.r; 

var Feedback = thinky.createModel("Feedback", { 
    id: type.string(), 
    feel: type.number().required(), // 0 = sad, 1 = happy 
    reason: type.string(), 
    description: type.string(), 
    createdAt: type.date().default(r.now()), 
    createdBy: type.string().required() 
}); 

Feedback.ensureIndex("id"); 

module.exports = Feedback; 

+0

これは私が、サーバーを起動したとき、私は約10倍を得る出力されます。 127.0.0.1:28015に接続プールを作成します –

答えて

2

は、あなたが長い間求めてきた答えです:

// file: util/thinky.js 
 
var thinky = require('thinky')({ 
 
    // thinky's options 
 
}) 
 

 
module.exports = thinky;

そして、そのようにそれを含める:

// file: models/user.js 
 
var thinky = require(__dirname+'/util/thinky.js'); 
 
var type = thinky.type; 
 

 
var User = thinky.createModel("User", { 
 
    id: type.string(), 
 
    name: type.string(), 
 
    age: type.number() 
 
}); 
 

 
module.exports = User;

ミラー で

敬具 男(I gotchu仲間)

2

thinkyモデルの作成とエクスポートに使用しているアーキテクチャが正しくない可能性があります。

完全な推奨アーキテクチャについては、このガイドを参照してください。私はあなたがここに、相棒しまった https://thinky.io/documentation/architecture/

関連する問題