2015-06-10 86 views
0

第一次使用Node.js,Mongodb,Express進行網頁開發。是否可以將數據直接發送給構造函數?

假設您在與路由或驅動程序文件分開的文件中擁有構造函數'CreateObject'

我可以使用module.exports.CreateObject,然後只需要在驅動程序內部創建對象,這樣我就可以調用一個函數並讓數據庫在我的路由文件中調用它時將數據直接插入到對象中?

(即「當用戶訪問頁面,導入創建對象的構造函數,db.insert(CreateObject object, data),現在出口的信息給我們的顯示功能)

出口是否一樣工作嗎?

我試圖避免路由每個文件到我的顯示功能,通過將每個條目添加到一個數組與'./:collection/:item'

回答

1

Express並不真正關心構造函數或對象。你當然可以使用它們,但是你需要在中間件功能中使用它們。相反,您可能需要考慮中間件功能。

節點開發中的一種常見模式是在其他文件中定義一個(或多個)中間件功能,然後將這些功能請求到您的應用程序中。您可以將任意數量的中間件功能鏈接在一起並將它們附加到路線上。像這樣:

// app.js 
var dbInserter = require('./myDbInserter.js'); 
app.use('/:collection/:item', dbInserter, otherMiddleware ...); 

// myDbInserter.js 
module.exports = function(req,res,next) { 
    var collectionName = req.params.collection; 
    var itemId = req.params.item; 
    // create object, insert into db, etc. 
    next(); 
} 
相關問題