Tôi có một ứng dụng chạy trên Expressjs NodeJS 0.8.8 sử dụng MongoDB và Jade mẫu ngôn ngữ, và tôi muốn cho phép người dùng cấu hình nhiều tùy chọn trang web trình bày toàn chẳng hạn như tiêu đề trang, hình ảnh logo, vvLàm thế nào tôi có thể lưu trữ cấu hình trang web trong MongoDB cho một ứng dụng NodeJS Express?
Làm cách nào để lưu trữ các tùy chọn cấu hình này trong cơ sở dữ liệu mongoDB để tôi có thể đọc chúng khi khởi động ứng dụng, thao tác chúng trong khi ứng dụng đang chạy và hiển thị chúng trong các mẫu ngọc?
Đây là thiết lập ứng dụng nói chung tôi:
var app = module.exports = express();
global.app = app;
var DB = require('./accessDB');
var conn = 'mongodb://localhost/dbname';
var db;
// App Config
app.configure(function(){
...
});
db = new DB.startup(conn);
//env specific config
app.configure('development', function(){
app.use(express.errorHandler({ dumpExceptions: true, showStack: true }));
}); // etc
// use date manipulation tool moment
app.locals.moment = moment;
// Load the router
require('./routes')(app);
Cho đến nay tôi đã tạo ra một mô hình gọi là "Trang web" cho bộ sưu tập "siteConfig" và tôi có một chức năng gọi là getSiteConfig trong accessDB.js chạy Site.find() ... để truy xuất các trường trong một tài liệu trong bộ sưu tập.
Vì vậy, đây là mấu chốt của câu hỏi: làm thế nào tôi nên tiêm những lĩnh vực vào ứng dụng nhanh để họ có thể được sử dụng trong trang web? Tôi có nên làm theo cùng một mẫu mà tôi đã sử dụng với công cụ moment.js không? Như thế này:
db.getSiteConfig(function(err, siteConfig){
if (err) {throw err;}
app.locals.siteConfig = siteConfig;
});
Nếu không, cách chính xác để làm điều này là gì?
Cảm ơn!
là cái gì đó bạn muốn để lưu trữ trong phiên giao dịch? – c0deNinja
Không, tôi không tin như vậy. Tôi không muốn khách hàng có quyền truy cập vào nó. Tôi chỉ muốn ứng dụng express phía máy chủ (đặc biệt là Jade) có quyền truy cập vào nó. Tôi có nó làm việc lên đến mức một console.log. Tôi đoán tôi chỉ nên cố gắng thêm nó vào app.locals và xem những gì sẽ xảy ra, nhưng tôi không chắc chắn về những tác động bảo mật của việc sử dụng nó. (hoặc sự ổn định của nó) – tutley