আমি পড়তে এবং পড়তে পেরেছি এবং এখনও পুরো নোডজেস অ্যাপ্লিকেশন জুড়ে একই ডাটাবেস (মঙ্গোডিবি) সংযোগটি ভাগ করার সর্বোত্তম উপায় কী তা নিয়ে আমি বিভ্রান্ত। আমি যেমন বুঝতে পারি অ্যাপ্লিকেশন শুরু হয়ে মডিউলগুলির মধ্যে পুনরায় ব্যবহার করা হলে সংযোগটি খোলা থাকা উচিত। আমার সেরা পদ্ধতির বর্তমান ধারণাটি হ'ল server.js
(মূল ফাইল যেখানে সমস্ত কিছু শুরু হয়) ডাটাবেসের সাথে সংযুক্ত হয় এবং মডিউলগুলিতে পাস হওয়া অবজেক্ট ভেরিয়েবল তৈরি করে। একবার সংযুক্ত হওয়ার পরে এই পরিবর্তনশীলটি মডিউল কোড দ্বারা প্রয়োজনীয় হিসাবে ব্যবহৃত হবে এবং এই সংযোগটি খোলা থাকবে। উদাহরণ:
var MongoClient = require('mongodb').MongoClient;
var mongo = {}; // this is passed to modules and code
MongoClient.connect("mongodb://localhost:27017/marankings", function(err, db) {
if (!err) {
console.log("We are connected");
// these tables will be passed to modules as part of mongo object
mongo.dbUsers = db.collection("users");
mongo.dbDisciplines = db.collection("disciplines");
console.log("aaa " + users.getAll()); // displays object and this can be used from inside modules
} else
console.log(err);
});
var users = new(require("./models/user"))(app, mongo);
console.log("bbb " + users.getAll()); // not connected at the very first time so displays undefined
তারপরে আর একটি মডিউল এর models/user
মত দেখাচ্ছে:
Users = function(app, mongo) {
Users.prototype.addUser = function() {
console.log("add user");
}
Users.prototype.getAll = function() {
return "all users " + mongo.dbUsers;
}
}
module.exports = Users;
এখন আমার ভয়াবহ অনুভূতি আছে যে এটি ভুল তাই এই পদ্ধতির সাথে কোনও সুস্পষ্ট সমস্যা আছে এবং যদি হয় তবে কীভাবে এটি আরও ভাল করা যায়?
module.exports = mongoist(connectionString);
। ( connectionString
মোঙ্গোডিবি ম্যানুয়াল সম্পর্কে পড়ুন ))