我正在用express和mongo做一个休息api。我没有为每个模型编写crud操作,而是考虑编写一个公共数据库服务(在db.coffee中):
exports.findById = (model, req, res) ->
model.findById req.params.id, (err, document)->
if err
throw err
return document
因此,如果我想从用户ID获取用户,我将调用(在user.coffee中):
exports.findById = res.send db.findById(model, req, res)
从app.coffee中调用:
app.get '/user/:id', user.findById(req, res)
您如何看待这种设计?这是否有标准设计?
答案 0 :(得分:0)
是的,有。
查看mongoDb的其余接口。 http://docs.mongodb.org/ecosystem/tools/http-interfaces/
另外,如果你是从头开始做的话,你会很快意识到有许多边缘情况你不愿意处理。
以这种方式使用mongoDB的主要问题是,许多数据库数据将通过互联网以小部分传输到客户端,以获得大量简单请求。如果您在服务器端执行大部分逻辑操作,则不会遇到相同的网络延迟,并且您的应用程序可能会更具响应性。