如何在node.js中设计持久性服务

时间:2013-07-22 01:21:46

标签: node.js mongodb rest

我正在用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)

您如何看待这种设计?这是否有标准设计?

1 个答案:

答案 0 :(得分:0)

是的,有。

查看mongoDb的其余接口。 http://docs.mongodb.org/ecosystem/tools/http-interfaces/

另外,如果你是从头开始做的话,你会很快意识到有许多边缘情况你不愿意处理。

以这种方式使用mongoDB的主要问题是,许多数据库数据将通过互联网以小部分传输到客户端,以获得大量简单请求。如果您在服务器端执行大部分逻辑操作,则不会遇到相同的网络延迟,并且您的应用程序可能会更具响应性。