0
質問はアーキテクチャについてです。
私はmongodbへの接続を確立し、スキーマ、モデルなどを持つクラスを持っているモジュール 'db'を取得しました。私はそのクラスの標本をエクスポートします。
私はちょうどすべてのルートファイルに( 'DB')を必要とするか、またはちょうど1でこれを実行する必要があります。ノードjs、どこでも必要とするかreqにプロパティを追加する
server.on('request', function(req) {
req.db = db;
});
db.js:
"use strict";
var mongoose = require('mongoose');
mongoose.connect('mongodb://localhost/test');
var conn = mongoose.connection;
conn.on('error', console.error.bind(console, 'connection error:'));
conn.once('open', function() {
console.log("Connected to MongoDB.");
});
class db {
constructor() {
//Users
this._usersSchema = mongoose.Schema(
{
username: String,
password: String,
email: String
});
this.Users = mongoose.model("Users", this._usersSchema);
}
}
module.exports = new db();
dbモジュールによって異なります。あなたがそれを必要とするたびに同じインスタンスを再利用する場合、インスタンス化するだけで済みます。あなたがそれを渡すことができない場合。あなたはしかし、より多くの情報を与える必要があります。 –
モジュール – Angels
に関する情報を追加しました。mongooseを使用すると、db接続を渡す必要はありません。スキーマモデルを使用してデータベースとやり取りしてください。モジュールは残りの部分を処理します。 –